.class public Lcom/nemustech/tiffany/world/TFPagePanel;
.super Lcom/nemustech/tiffany/world/TFModel;
.source "TFPagePanel.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;,
        Lcom/nemustech/tiffany/world/TFPagePanel$CircularPageOverInterpolator;,
        Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;
    }
.end annotation


# static fields
.field protected static final DEFAULT_BOTTOM_SHADOW_ALPHA:F = 0.9f

.field protected static final DEFAULT_BOTTOM_SHADOW_RATIO:F = 0.25f

.field public static final ELAPSE:I = 0x1e

.field public static final PAGE_MODE_LEFT:I = 0x1

.field public static final PAGE_MODE_RIGHT:I = 0x2

.field public static final PAGE_MODE_SOLO:I = 0x0

.field private static final TAG:Ljava/lang/String; = "TFPagePanel"


# instance fields
.field private final UV_MARGIN:F

.field protected mBackMaskColorBuffer:Ljava/nio/FloatBuffer;

.field protected mBackMaskHighQualityMode:Z

.field protected mBackMaskOpacity:F

.field protected mBorderImageHeight:I

.field protected mBorderImageWidth:I

.field protected mBorderPanel:Lcom/nemustech/tiffany/world/TFPanel;

.field protected mBorderShadowDarkAlpha:F

.field protected mBorderShadowRatio:F

.field protected mBottomShadowAlpha:F

.field protected mBottomShadowHeight:F

.field protected mBottomShadowPanel:Lcom/nemustech/tiffany/world/TFShadowPanel;

.field protected mBottomShadowRatio:F

.field protected mBottomShadowWidth:F

.field private mBuildRequested:Z

.field protected mClearRect:Landroid/graphics/Rect;

.field protected mDirectionDegree:I

.field protected mDuration:I

.field protected mFlipToBackface:Z

.field protected mImageOrientation:[I

.field protected mInflection:[F

.field protected mInterpolator:Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;

.field protected mIsBorderPanelEnabled:Z

.field protected mMinY:F

.field protected mOnUpdateVertex:Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;

.field protected mPageMode:I

.field protected mRealHeight:F

.field protected mRealWidth:F

.field protected mRectVertex:[F

.field protected mReverseWay:[I

.field protected mShowCenterShadow:Z

.field protected mT:[F

.field protected mTextureScale:[F

.field protected mTickAccum:I

.field protected mTickElapse:I

.field protected mTicks:I

.field protected mTimeInterpolator:Landroid/view/animation/Interpolator;

.field protected mTimeLineEnd:F

.field protected mTimeLineStart:F

.field private mUVMargin:F

.field protected mV:[F

.field protected mVertexCount:I

.field protected mXYL:[F

.field protected mXYLCount:I


# direct methods
.method public constructor <init>()V
    .locals 2

    .prologue
    const/high16 v1, 0x3f80

    .line 24
    const/4 v0, 0x0

    invoke-direct {p0, v1, v1, v0}, Lcom/nemustech/tiffany/world/TFPagePanel;-><init>(FFLcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;)V

    .line 25
    return-void
.end method

.method public constructor <init>(FF)V
    .locals 1
    .parameter "width"
    .parameter "height"

    .prologue
    .line 32
    const/4 v0, 0x0

    invoke-direct {p0, p1, p2, v0}, Lcom/nemustech/tiffany/world/TFPagePanel;-><init>(FFLcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;)V

    .line 33
    return-void
.end method

.method public constructor <init>(FFLcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;)V
    .locals 4
    .parameter "width"
    .parameter "height"
    .parameter "i"

    .prologue
    const/4 v3, 0x2

    const/4 v2, 0x4

    const/4 v1, 0x0

    .line 64
    invoke-direct {p0}, Lcom/nemustech/tiffany/world/TFModel;-><init>()V

    .line 1603
    iput v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mDirectionDegree:I

    .line 1606
    iput v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    .line 1618
    const/4 v0, 0x6

    new-array v0, v0, [F

    iput-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    .line 1619
    new-array v0, v2, [F

    iput-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    .line 1620
    const/16 v0, 0x8

    new-array v0, v0, [F

    iput-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    .line 1621
    new-array v0, v2, [F

    iput-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mInflection:[F

    .line 1623
    new-array v0, v3, [I

    iput-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mImageOrientation:[I

    .line 1624
    new-array v0, v3, [I

    iput-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mReverseWay:[I

    .line 1625
    new-array v0, v2, [F

    iput-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureScale:[F

    .line 1639
    iput-boolean v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mFlipToBackface:Z

    .line 1669
    const v0, 0x3b03126f

    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->UV_MARGIN:F

    .line 65
    invoke-virtual {p0, p1, p2, p3}, Lcom/nemustech/tiffany/world/TFPagePanel;->create(FFLcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;)V

    .line 66
    return-void
.end method

.method public constructor <init>(Lcom/nemustech/tiffany/world/TFHolder;FF)V
    .locals 1
    .parameter "holder"
    .parameter "width"
    .parameter "height"

    .prologue
    .line 53
    const/4 v0, 0x0

    invoke-direct {p0, p2, p3, v0}, Lcom/nemustech/tiffany/world/TFPagePanel;-><init>(FFLcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;)V

    .line 54
    invoke-super {p0, p1}, Lcom/nemustech/tiffany/world/TFModel;->attachTo(Lcom/nemustech/tiffany/world/TFHolder;)V

    .line 55
    return-void
.end method

.method public constructor <init>(Lcom/nemustech/tiffany/world/TFWorld;FF)V
    .locals 1
    .parameter "world"
    .parameter "width"
    .parameter "height"

    .prologue
    .line 42
    const/4 v0, 0x0

    invoke-direct {p0, p2, p3, v0}, Lcom/nemustech/tiffany/world/TFPagePanel;-><init>(FFLcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;)V

    .line 43
    invoke-super {p0, p1}, Lcom/nemustech/tiffany/world/TFModel;->attachTo(Lcom/nemustech/tiffany/world/TFWorld;)V

    .line 44
    return-void
.end method

.method static newBuffer(I)Ljava/nio/FloatBuffer;
    .locals 2
    .parameter "count"

    .prologue
    .line 1169
    mul-int/lit8 v0, p0, 0x4

    invoke-static {v0}, Ljava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;

    move-result-object v0

    invoke-static {}, Ljava/nio/ByteOrder;->nativeOrder()Ljava/nio/ByteOrder;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;

    move-result-object v0

    invoke-virtual {v0}, Ljava/nio/ByteBuffer;->asFloatBuffer()Ljava/nio/FloatBuffer;

    move-result-object v0

    return-object v0
.end method

.method private pointDistance(FFFF)F
    .locals 3
    .parameter "x1"
    .parameter "y1"
    .parameter "x2"
    .parameter "y2"

    .prologue
    .line 978
    sub-float v0, p3, p1

    sub-float v1, p3, p1

    mul-float/2addr v0, v1

    sub-float v1, p4, p2

    sub-float v2, p4, p2

    mul-float/2addr v1, v2

    add-float/2addr v0, v1

    float-to-double v0, v0

    invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide v0

    double-to-float v0, v0

    return v0
.end method


# virtual methods
.method adjustTexCoord(I)V
    .locals 11
    .parameter "face"

    .prologue
    const/4 v10, 0x2

    .line 699
    iget-object v8, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureScale:[F

    mul-int/lit8 v9, p1, 0x2

    add-int/lit8 v9, v9, 0x0

    aget v8, v8, v9

    iget v9, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mUVMargin:F

    mul-float v6, v8, v9

    .line 700
    .local v6, ux:F
    iget-object v8, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureScale:[F

    mul-int/lit8 v9, p1, 0x2

    add-int/lit8 v9, v9, 0x1

    aget v8, v8, v9

    iget v9, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mUVMargin:F

    mul-float v7, v8, v9

    .line 701
    .local v7, uy:F
    iget-object v8, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureScale:[F

    mul-int/lit8 v9, p1, 0x2

    add-int/lit8 v9, v9, 0x0

    aget v8, v8, v9

    iget v9, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mPageMode:I

    if-nez v9, :cond_1

    move v9, v10

    :goto_0
    int-to-float v9, v9

    mul-float/2addr v9, v6

    sub-float v3, v8, v9

    .line 702
    .local v3, sx:F
    iget-object v8, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureScale:[F

    mul-int/lit8 v9, p1, 0x2

    add-int/lit8 v9, v9, 0x1

    aget v8, v8, v9

    const/high16 v9, 0x4000

    mul-float/2addr v9, v7

    sub-float v4, v8, v9

    .line 703
    .local v4, sy:F
    iget v8, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    mul-int/2addr v8, p1

    mul-int/lit8 v1, v8, 0x2

    .line 706
    .local v1, offset:I
    iget-object v8, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    invoke-virtual {v8, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 707
    const/4 v0, 0x0

    .local v0, i:I
    :goto_1
    iget v8, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    if-ge v0, v8, :cond_2

    .line 708
    iget-object v8, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    mul-int/lit8 v9, v0, 0x2

    add-int/2addr v9, v1

    add-int/lit8 v9, v9, 0x0

    invoke-virtual {v8, v9}, Ljava/nio/FloatBuffer;->get(I)F

    move-result v8

    mul-float v2, v8, v3

    .line 709
    .local v2, s:F
    iget-object v8, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    mul-int/lit8 v9, v0, 0x2

    add-int/2addr v9, v1

    add-int/lit8 v9, v9, 0x1

    invoke-virtual {v8, v9}, Ljava/nio/FloatBuffer;->get(I)F

    move-result v8

    mul-float v5, v8, v4

    .line 711
    .local v5, t:F
    iget v8, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mPageMode:I

    if-eq v8, v10, :cond_0

    add-float/2addr v2, v6

    .line 712
    :cond_0
    add-float/2addr v5, v7

    .line 715
    iget-object v8, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mReverseWay:[I

    aget v8, v8, p1

    packed-switch v8, :pswitch_data_0

    .line 729
    :goto_2
    :pswitch_0
    iget-object v8, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    invoke-virtual {v8, v2}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;

    .line 730
    iget-object v8, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    invoke-virtual {v8, v5}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;

    .line 707
    add-int/lit8 v0, v0, 0x1

    goto :goto_1

    .line 701
    .end local v0           #i:I
    .end local v1           #offset:I
    .end local v2           #s:F
    .end local v3           #sx:F
    .end local v4           #sy:F
    .end local v5           #t:F
    :cond_1
    const/4 v9, 0x1

    goto :goto_0

    .line 719
    .restart local v0       #i:I
    .restart local v1       #offset:I
    .restart local v2       #s:F
    .restart local v3       #sx:F
    .restart local v4       #sy:F
    .restart local v5       #t:F
    :pswitch_1
    sub-float v5, v4, v5

    .line 720
    goto :goto_2

    .line 722
    :pswitch_2
    sub-float v2, v3, v2

    .line 723
    goto :goto_2

    .line 725
    :pswitch_3
    sub-float v2, v3, v2

    .line 726
    sub-float v5, v4, v5

    goto :goto_2

    .line 732
    .end local v2           #s:F
    .end local v5           #t:F
    :cond_2
    iget-object v8, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    const/4 v9, 0x0

    invoke-virtual {v8, v9}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 733
    return-void

    .line 715
    :pswitch_data_0
    .packed-switch 0x0
        :pswitch_0
        :pswitch_1
        :pswitch_2
        :pswitch_3
    .end packed-switch
.end method

.method adjustTextureCoordination(Landroid/graphics/Rect;III)V
    .locals 4
    .parameter "rectTexture"
    .parameter "index"
    .parameter "textureWidth"
    .parameter "textureHeight"

    .prologue
    .line 285
    invoke-super {p0, p1, p2, p3, p4}, Lcom/nemustech/tiffany/world/TFModel;->adjustTextureCoordination(Landroid/graphics/Rect;III)V

    .line 286
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureScale:[F

    mul-int/lit8 v1, p2, 0x2

    add-int/lit8 v1, v1, 0x0

    iget v2, p1, Landroid/graphics/Rect;->right:I

    int-to-float v2, v2

    int-to-float v3, p3

    div-float/2addr v2, v3

    aput v2, v0, v1

    .line 287
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureScale:[F

    mul-int/lit8 v1, p2, 0x2

    add-int/lit8 v1, v1, 0x1

    iget v2, p1, Landroid/graphics/Rect;->bottom:I

    int-to-float v2, v2

    int-to-float v3, p4

    div-float/2addr v2, v3

    aput v2, v0, v1

    .line 289
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mOnUpdateVertex:Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;

    if-eqz v0, :cond_0

    .line 290
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mOnUpdateVertex:Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;

    invoke-interface {v0, p0}, Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;->beforeUpdate(Lcom/nemustech/tiffany/world/TFPagePanel;)V

    .line 292
    :cond_0
    invoke-virtual {p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->buildVertexAndTexCoord()V

    .line 294
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mOnUpdateVertex:Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;

    if-eqz v0, :cond_1

    .line 295
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mOnUpdateVertex:Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;

    invoke-interface {v0, p0}, Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;->afterUpdate(Lcom/nemustech/tiffany/world/TFPagePanel;)V

    .line 296
    :cond_1
    return-void
.end method

.method buildBackFace()V
    .locals 7

    .prologue
    const/high16 v6, 0x3f80

    const/4 v5, 0x0

    .line 678
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    iget v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    mul-int/lit8 v3, v3, 0x3

    invoke-virtual {v2, v3}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 679
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    iget v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    mul-int/lit8 v3, v3, 0x2

    invoke-virtual {v2, v3}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 680
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBackMaskColorBuffer:Ljava/nio/FloatBuffer;

    invoke-virtual {v2, v5}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 682
    const/4 v0, 0x0

    .local v0, i:I
    :goto_0
    iget v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    if-ge v0, v2, :cond_1

    .line 683
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    iget-object v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    mul-int/lit8 v4, v0, 0x3

    add-int/lit8 v4, v4, 0x0

    invoke-virtual {v3, v4}, Ljava/nio/FloatBuffer;->get(I)F

    move-result v3

    invoke-virtual {v2, v3}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;

    .line 684
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    iget-object v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    mul-int/lit8 v4, v0, 0x3

    add-int/lit8 v4, v4, 0x1

    invoke-virtual {v3, v4}, Ljava/nio/FloatBuffer;->get(I)F

    move-result v3

    invoke-virtual {v2, v3}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;

    .line 685
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    iget-object v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    mul-int/lit8 v4, v0, 0x3

    add-int/lit8 v4, v4, 0x2

    invoke-virtual {v3, v4}, Ljava/nio/FloatBuffer;->get(I)F

    move-result v3

    invoke-virtual {v2, v3}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;

    .line 686
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    iget-object v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    mul-int/lit8 v4, v0, 0x2

    add-int/lit8 v4, v4, 0x0

    invoke-virtual {v3, v4}, Ljava/nio/FloatBuffer;->get(I)F

    move-result v3

    sub-float v3, v6, v3

    invoke-virtual {v2, v3}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;

    .line 687
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    iget-object v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    mul-int/lit8 v4, v0, 0x2

    add-int/lit8 v4, v4, 0x1

    invoke-virtual {v3, v4}, Ljava/nio/FloatBuffer;->get(I)F

    move-result v3

    invoke-virtual {v2, v3}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;

    .line 690
    const/4 v1, 0x0

    .local v1, j:I
    :goto_1
    const/16 v2, 0x8

    if-ge v1, v2, :cond_0

    .line 691
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBackMaskColorBuffer:Ljava/nio/FloatBuffer;

    invoke-virtual {v2, v6}, Ljava/nio/FloatBuffer;->put(F)Ljava/nio/FloatBuffer;

    .line 690
    add-int/lit8 v1, v1, 0x1

    goto :goto_1

    .line 682
    :cond_0
    add-int/lit8 v0, v0, 0x1

    goto :goto_0

    .line 693
    .end local v1           #j:I
    :cond_1
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    invoke-virtual {v2, v5}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 694
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    invoke-virtual {v2, v5}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 695
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBackMaskColorBuffer:Ljava/nio/FloatBuffer;

    invoke-virtual {v2, v5}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 696
    return-void
.end method

.method buildDiagonal()V
    .locals 31

    .prologue
    .line 570
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v5, v0

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mDirectionDegree:I

    move v6, v0

    neg-int v6, v6

    int-to-float v6, v6

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWidth:F

    move v7, v0

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHeight:F

    move v8, v0

    move-object/from16 v0, p0

    move-object v1, v5

    move v2, v6

    move v3, v7

    move v4, v8

    invoke-virtual {v0, v1, v2, v3, v4}, Lcom/nemustech/tiffany/world/TFPagePanel;->buildRectVertex([FFFF)F

    move-result v26

    .line 572
    .local v26, rectScale:F
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mInterpolator:Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;

    move-object v5, v0

    invoke-virtual/range {p0 .. p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->getTimeLine()F

    move-result v6

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    move-object v7, v0

    invoke-virtual {v5, v6, v7}, Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;->interpolate(F[F)I

    move-result v5

    move v0, v5

    move-object/from16 v1, p0

    iput v0, v1, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYLCount:I

    .line 573
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYLCount:I

    move/from16 v18, v0

    .line 574
    .local v18, count:I
    const/16 v19, 0x0

    .local v19, i:I
    :goto_0
    move/from16 v0, v19

    move/from16 v1, v18

    if-ge v0, v1, :cond_0

    .line 575
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    move-object v5, v0

    mul-int/lit8 v6, v19, 0x3

    add-int/lit8 v6, v6, 0x0

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    move-object v7, v0

    mul-int/lit8 v8, v19, 0x3

    add-int/lit8 v8, v8, 0x0

    aget v7, v7, v8

    const/high16 v8, 0x3f00

    sub-float/2addr v7, v8

    aput v7, v5, v6

    .line 576
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    move-object v5, v0

    mul-int/lit8 v6, v19, 0x3

    add-int/lit8 v6, v6, 0x2

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    move-object v7, v0

    mul-int/lit8 v8, v19, 0x3

    add-int/lit8 v8, v8, 0x2

    aget v7, v7, v8

    const/high16 v8, 0x3f00

    sub-float/2addr v7, v8

    aput v7, v5, v6

    .line 574
    add-int/lit8 v19, v19, 0x1

    goto :goto_0

    .line 579
    :cond_0
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mDirectionDegree:I

    move v5, v0

    int-to-float v5, v5

    const v6, 0x40490fdb

    mul-float/2addr v5, v6

    const/high16 v6, 0x4334

    div-float v25, v5, v6

    .line 580
    .local v25, rad:F
    move/from16 v0, v25

    float-to-double v0, v0

    move-wide v5, v0

    invoke-static {v5, v6}, Ljava/lang/Math;->cos(D)D

    move-result-wide v5

    double-to-float v5, v5

    mul-float v17, v26, v5

    .line 581
    .local v17, cos:F
    move/from16 v0, v25

    float-to-double v0, v0

    move-wide v5, v0

    invoke-static {v5, v6}, Ljava/lang/Math;->sin(D)D

    move-result-wide v5

    double-to-float v5, v5

    mul-float v28, v26, v5

    .line 583
    .local v28, sin:F
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mInflection:[F

    move-object/from16 v22, v0

    .line 584
    .local v22, p:[F
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    move-object v5, v0

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v6, v0

    const/4 v7, 0x2

    aget v6, v6, v7

    const/4 v7, 0x0

    move-object/from16 v0, p0

    move-object v1, v5

    move v2, v6

    move-object/from16 v3, v22

    move v4, v7

    invoke-virtual {v0, v1, v2, v3, v4}, Lcom/nemustech/tiffany/world/TFPagePanel;->getInterpolatorOfL([FF[FI)F

    .line 585
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    move-object v5, v0

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v6, v0

    const/4 v7, 0x4

    aget v6, v6, v7

    const/4 v7, 0x2

    move-object/from16 v0, p0

    move-object v1, v5

    move v2, v6

    move-object/from16 v3, v22

    move v4, v7

    invoke-virtual {v0, v1, v2, v3, v4}, Lcom/nemustech/tiffany/world/TFPagePanel;->getInterpolatorOfL([FF[FI)F

    .line 587
    const/high16 v5, 0x7f80

    move v0, v5

    move-object/from16 v1, p0

    iput v0, v1, Lcom/nemustech/tiffany/world/TFPagePanel;->mMinY:F

    .line 588
    const/4 v5, 0x0

    move v0, v5

    move-object/from16 v1, p0

    iput v0, v1, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    .line 590
    const/16 v23, 0x0

    .line 591
    .local v23, passed1:Z
    const/16 v24, 0x0

    .line 592
    .local v24, passed2:Z
    const/16 v27, 0x0

    .line 593
    .local v27, retry:Z
    const/16 v19, 0x0

    .line 594
    :cond_1
    :goto_1
    move/from16 v0, v19

    move/from16 v1, v18

    if-ge v0, v1, :cond_a

    .line 595
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    move-object v5, v0

    mul-int/lit8 v6, v19, 0x3

    add-int/lit8 v6, v6, 0x0

    aget v20, v5, v6

    .line 596
    .local v20, ix:F
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    move-object v5, v0

    mul-int/lit8 v6, v19, 0x3

    add-int/lit8 v6, v6, 0x1

    aget v21, v5, v6

    .line 597
    .local v21, iy:F
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    move-object v5, v0

    mul-int/lit8 v6, v19, 0x3

    add-int/lit8 v6, v6, 0x2

    aget v10, v5, v6

    .line 599
    .local v10, il:F
    const/16 v27, 0x0

    .line 600
    if-nez v23, :cond_4

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v5, v0

    const/4 v6, 0x2

    aget v5, v5, v6

    cmpl-float v5, v10, v5

    if-lez v5, :cond_4

    .line 601
    const/4 v5, 0x0

    aget v20, v22, v5

    .line 602
    const/4 v5, 0x1

    aget v21, v22, v5

    .line 603
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v5, v0

    const/4 v6, 0x2

    aget v10, v5, v6

    .line 604
    const/16 v23, 0x1

    .line 605
    const/16 v27, 0x1

    .line 616
    :cond_2
    :goto_2
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v5, v0

    const/4 v6, 0x2

    aget v5, v5, v6

    cmpg-float v5, v10, v5

    if-gez v5, :cond_5

    .line 617
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v6, v0

    const/4 v7, 0x0

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v8, v0

    const/4 v9, 0x2

    move-object/from16 v5, p0

    invoke-virtual/range {v5 .. v10}, Lcom/nemustech/tiffany/world/TFPagePanel;->yOnLine2D([FI[FIF)F

    move-result v29

    .line 620
    .local v29, y1:F
    :goto_3
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v5, v0

    const/4 v6, 0x4

    aget v5, v5, v6

    cmpg-float v5, v10, v5

    if-gez v5, :cond_6

    .line 621
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v6, v0

    const/4 v7, 0x0

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v8, v0

    const/4 v9, 0x4

    move-object/from16 v5, p0

    invoke-virtual/range {v5 .. v10}, Lcom/nemustech/tiffany/world/TFPagePanel;->yOnLine2D([FI[FIF)F

    move-result v30

    .line 625
    .local v30, y2:F
    :goto_4
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v5, v0

    const/4 v6, 0x0

    aput v20, v5, v6

    .line 626
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v5, v0

    const/4 v6, 0x1

    aput v29, v5, v6

    .line 627
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v5, v0

    const/4 v6, 0x2

    move-object/from16 v0, p0

    iget-boolean v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mFlipToBackface:Z

    move v7, v0

    if-eqz v7, :cond_7

    move/from16 v0, v21

    neg-float v0, v0

    move v7, v0

    :goto_5
    aput v7, v5, v6

    .line 628
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v5, v0

    const/4 v6, 0x3

    aput v20, v5, v6

    .line 629
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v5, v0

    const/4 v6, 0x4

    aput v30, v5, v6

    .line 630
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v5, v0

    const/4 v6, 0x5

    move-object/from16 v0, p0

    iget-boolean v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mFlipToBackface:Z

    move v7, v0

    if-eqz v7, :cond_8

    move/from16 v0, v21

    neg-float v0, v0

    move v7, v0

    :goto_6
    aput v7, v5, v6

    .line 632
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v5, v0

    const/4 v6, 0x0

    aput v10, v5, v6

    .line 633
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v5, v0

    const/4 v6, 0x1

    aput v29, v5, v6

    .line 634
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v5, v0

    const/4 v6, 0x2

    aput v10, v5, v6

    .line 635
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v5, v0

    const/4 v6, 0x3

    aput v30, v5, v6

    .line 637
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v5, v0

    const/4 v6, 0x1

    aget v5, v5, v6

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v6, v0

    const/4 v7, 0x4

    aget v6, v6, v7

    cmpl-float v5, v5, v6

    if-lez v5, :cond_3

    .line 639
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v5, v0

    const/4 v6, 0x0

    const/4 v7, 0x1

    const/4 v8, 0x3

    move-object/from16 v0, p0

    move-object v1, v5

    move v2, v6

    move v3, v7

    move v4, v8

    invoke-virtual {v0, v1, v2, v3, v4}, Lcom/nemustech/tiffany/world/TFPagePanel;->swapN([FIII)V

    .line 640
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v5, v0

    const/4 v6, 0x0

    const/4 v7, 0x1

    const/4 v8, 0x2

    move-object/from16 v0, p0

    move-object v1, v5

    move v2, v6

    move v3, v7

    move v4, v8

    invoke-virtual {v0, v1, v2, v3, v4}, Lcom/nemustech/tiffany/world/TFPagePanel;->swapN([FIII)V

    .line 643
    :cond_3
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v5, v0

    const/4 v6, 0x0

    move-object/from16 v0, p0

    move-object v1, v5

    move v2, v6

    move/from16 v3, v17

    move/from16 v4, v28

    invoke-virtual {v0, v1, v2, v3, v4}, Lcom/nemustech/tiffany/world/TFPagePanel;->calcRotateZ([FIFF)V

    .line 644
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v5, v0

    const/4 v6, 0x2

    aget v7, v5, v6

    mul-float v7, v7, v26

    aput v7, v5, v6

    .line 645
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v5, v0

    const/4 v6, 0x3

    move-object/from16 v0, p0

    move-object v1, v5

    move v2, v6

    move/from16 v3, v17

    move/from16 v4, v28

    invoke-virtual {v0, v1, v2, v3, v4}, Lcom/nemustech/tiffany/world/TFPagePanel;->calcRotateZ([FIFF)V

    .line 646
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v5, v0

    const/4 v6, 0x5

    aget v7, v5, v6

    mul-float v7, v7, v26

    aput v7, v5, v6

    .line 648
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v5, v0

    const/4 v6, 0x0

    move-object/from16 v0, p0

    move-object v1, v5

    move v2, v6

    move/from16 v3, v17

    move/from16 v4, v28

    invoke-virtual {v0, v1, v2, v3, v4}, Lcom/nemustech/tiffany/world/TFPagePanel;->calcRotateZ([FIFF)V

    .line 649
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v5, v0

    const/4 v6, 0x2

    move-object/from16 v0, p0

    move-object v1, v5

    move v2, v6

    move/from16 v3, v17

    move/from16 v4, v28

    invoke-virtual {v0, v1, v2, v3, v4}, Lcom/nemustech/tiffany/world/TFPagePanel;->calcRotateZ([FIFF)V

    .line 651
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v5, v0

    const/4 v6, 0x0

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v7, v0

    const/4 v8, 0x0

    aget v7, v7, v8

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWidth:F

    move v8, v0

    const/high16 v9, 0x4000

    div-float/2addr v8, v9

    add-float/2addr v7, v8

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWidth:F

    move v8, v0

    div-float/2addr v7, v8

    aput v7, v5, v6

    .line 652
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v5, v0

    const/4 v6, 0x1

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHeight:F

    move v7, v0

    const/high16 v8, 0x4000

    div-float/2addr v7, v8

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v8, v0

    const/4 v9, 0x1

    aget v8, v8, v9

    sub-float/2addr v7, v8

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHeight:F

    move v8, v0

    div-float/2addr v7, v8

    aput v7, v5, v6

    .line 653
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v5, v0

    const/4 v6, 0x2

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v7, v0

    const/4 v8, 0x2

    aget v7, v7, v8

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWidth:F

    move v8, v0

    const/high16 v9, 0x4000

    div-float/2addr v8, v9

    add-float/2addr v7, v8

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWidth:F

    move v8, v0

    div-float/2addr v7, v8

    aput v7, v5, v6

    .line 654
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v5, v0

    const/4 v6, 0x3

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHeight:F

    move v7, v0

    const/high16 v8, 0x4000

    div-float/2addr v7, v8

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v8, v0

    const/4 v9, 0x3

    aget v8, v8, v9

    sub-float/2addr v7, v8

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHeight:F

    move v8, v0

    div-float/2addr v7, v8

    aput v7, v5, v6

    .line 656
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v12, v0

    const/4 v13, 0x0

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v14, v0

    const/4 v15, 0x3

    const/16 v16, 0x3

    move-object/from16 v11, p0

    invoke-virtual/range {v11 .. v16}, Lcom/nemustech/tiffany/world/TFPagePanel;->isSamePointN([FI[FII)Z

    move-result v5

    if-eqz v5, :cond_9

    .line 657
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    move-object v5, v0

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v6, v0

    const/4 v7, 0x0

    const/4 v8, 0x3

    invoke-virtual {v5, v6, v7, v8}, Ljava/nio/FloatBuffer;->put([FII)Ljava/nio/FloatBuffer;

    .line 658
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    move-object v5, v0

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v6, v0

    const/4 v7, 0x0

    const/4 v8, 0x2

    invoke-virtual {v5, v6, v7, v8}, Ljava/nio/FloatBuffer;->put([FII)Ljava/nio/FloatBuffer;

    .line 659
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    move v5, v0

    add-int/lit8 v5, v5, 0x1

    move v0, v5

    move-object/from16 v1, p0

    iput v0, v1, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    .line 667
    :goto_7
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mMinY:F

    move v5, v0

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v6, v0

    const/4 v7, 0x1

    aget v6, v6, v7

    invoke-static {v5, v6}, Ljava/lang/Math;->min(FF)F

    move-result v5

    move v0, v5

    move-object/from16 v1, p0

    iput v0, v1, Lcom/nemustech/tiffany/world/TFPagePanel;->mMinY:F

    .line 668
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mMinY:F

    move v5, v0

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v6, v0

    const/4 v7, 0x4

    aget v6, v6, v7

    invoke-static {v5, v6}, Ljava/lang/Math;->min(FF)F

    move-result v5

    move v0, v5

    move-object/from16 v1, p0

    iput v0, v1, Lcom/nemustech/tiffany/world/TFPagePanel;->mMinY:F

    .line 670
    if-nez v27, :cond_1

    .line 671
    add-int/lit8 v19, v19, 0x1

    goto/16 :goto_1

    .line 607
    .end local v29           #y1:F
    .end local v30           #y2:F
    :cond_4
    if-nez v24, :cond_2

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v5, v0

    const/4 v6, 0x4

    aget v5, v5, v6

    cmpl-float v5, v10, v5

    if-lez v5, :cond_2

    .line 608
    const/4 v5, 0x2

    aget v20, v22, v5

    .line 609
    const/4 v5, 0x3

    aget v21, v22, v5

    .line 610
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v5, v0

    const/4 v6, 0x4

    aget v10, v5, v6

    .line 611
    const/16 v24, 0x1

    .line 612
    const/16 v27, 0x1

    goto/16 :goto_2

    .line 619
    :cond_5
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v6, v0

    const/4 v7, 0x2

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v8, v0

    const/4 v9, 0x6

    move-object/from16 v5, p0

    invoke-virtual/range {v5 .. v10}, Lcom/nemustech/tiffany/world/TFPagePanel;->yOnLine2D([FI[FIF)F

    move-result v29

    .restart local v29       #y1:F
    goto/16 :goto_3

    .line 623
    :cond_6
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v6, v0

    const/4 v7, 0x4

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRectVertex:[F

    move-object v8, v0

    const/4 v9, 0x6

    move-object/from16 v5, p0

    invoke-virtual/range {v5 .. v10}, Lcom/nemustech/tiffany/world/TFPagePanel;->yOnLine2D([FI[FIF)F

    move-result v30

    .restart local v30       #y2:F
    goto/16 :goto_4

    :cond_7
    move/from16 v7, v21

    .line 627
    goto/16 :goto_5

    :cond_8
    move/from16 v7, v21

    .line 630
    goto/16 :goto_6

    .line 662
    :cond_9
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    move-object v5, v0

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    move-object v6, v0

    invoke-virtual {v5, v6}, Ljava/nio/FloatBuffer;->put([F)Ljava/nio/FloatBuffer;

    .line 663
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    move-object v5, v0

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    move-object v6, v0

    invoke-virtual {v5, v6}, Ljava/nio/FloatBuffer;->put([F)Ljava/nio/FloatBuffer;

    .line 664
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    move v5, v0

    add-int/lit8 v5, v5, 0x2

    move v0, v5

    move-object/from16 v1, p0

    iput v0, v1, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    goto/16 :goto_7

    .line 673
    .end local v10           #il:F
    .end local v20           #ix:F
    .end local v21           #iy:F
    .end local v29           #y1:F
    .end local v30           #y2:F
    :cond_a
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    move-object v5, v0

    const/4 v6, 0x0

    invoke-virtual {v5, v6}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 674
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    move-object v5, v0

    const/4 v6, 0x0

    invoke-virtual {v5, v6}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 675
    return-void
.end method

.method buildOrthogonal()V
    .locals 12

    .prologue
    .line 436
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mInterpolator:Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;

    invoke-virtual {p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->getTimeLine()F

    move-result v1

    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    invoke-virtual {v0, v1, v2}, Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;->interpolate(F[F)I

    move-result v0

    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYLCount:I

    .line 437
    iget v6, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYLCount:I

    .line 438
    .local v6, count:I
    iget v7, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mDirectionDegree:I

    .line 442
    .local v7, degree:I
    const/high16 v0, 0x7f80

    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mMinY:F

    .line 443
    const/4 v0, 0x0

    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    .line 444
    const/4 v8, 0x0

    .local v8, i:I
    :goto_0
    if-ge v8, v6, :cond_5

    .line 483
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    mul-int/lit8 v1, v8, 0x3

    add-int/lit8 v1, v1, 0x0

    aget v10, v0, v1

    .line 484
    .local v10, ix:F
    iget-boolean v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mFlipToBackface:Z

    if-eqz v0, :cond_1

    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    mul-int/lit8 v1, v8, 0x3

    add-int/lit8 v1, v1, 0x1

    aget v0, v0, v1

    neg-float v0, v0

    move v11, v0

    .line 485
    .local v11, iy:F
    :goto_1
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    mul-int/lit8 v1, v8, 0x3

    add-int/lit8 v1, v1, 0x2

    aget v9, v0, v1

    .line 486
    .local v9, il:F
    if-nez v7, :cond_2

    .line 491
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x0

    const/high16 v2, 0x3f00

    sub-float v2, v10, v2

    aput v2, v0, v1

    .line 492
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x1

    const/high16 v2, 0x3f00

    aput v2, v0, v1

    .line 493
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x2

    aput v11, v0, v1

    .line 494
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x3

    const/high16 v2, 0x3f00

    sub-float v2, v10, v2

    aput v2, v0, v1

    .line 495
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x4

    const/high16 v2, -0x4100

    aput v2, v0, v1

    .line 496
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x5

    aput v11, v0, v1

    .line 497
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x0

    aput v9, v0, v1

    .line 498
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x1

    const/4 v2, 0x0

    aput v2, v0, v1

    .line 499
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x2

    aput v9, v0, v1

    .line 500
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x3

    const/high16 v2, 0x3f80

    aput v2, v0, v1

    .line 553
    :cond_0
    :goto_2
    iget-object v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v2, 0x0

    iget v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWidth:F

    iget v4, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHeight:F

    iget v5, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWidth:F

    move-object v0, p0

    invoke-virtual/range {v0 .. v5}, Lcom/nemustech/tiffany/world/TFPagePanel;->scale([FIFFF)V

    .line 554
    iget-object v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v2, 0x3

    iget v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWidth:F

    iget v4, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHeight:F

    iget v5, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWidth:F

    move-object v0, p0

    invoke-virtual/range {v0 .. v5}, Lcom/nemustech/tiffany/world/TFPagePanel;->scale([FIFFF)V

    .line 555
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    iget-object v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->put([F)Ljava/nio/FloatBuffer;

    .line 556
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    add-int/lit8 v0, v0, 0x2

    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    .line 557
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    iget-object v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->put([F)Ljava/nio/FloatBuffer;

    .line 559
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mMinY:F

    iget-object v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v2, 0x1

    aget v1, v1, v2

    invoke-static {v0, v1}, Ljava/lang/Math;->min(FF)F

    move-result v0

    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mMinY:F

    .line 560
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mMinY:F

    iget-object v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v2, 0x4

    aget v1, v1, v2

    invoke-static {v0, v1}, Ljava/lang/Math;->min(FF)F

    move-result v0

    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mMinY:F

    .line 444
    add-int/lit8 v8, v8, 0x1

    goto/16 :goto_0

    .line 484
    .end local v9           #il:F
    .end local v11           #iy:F
    :cond_1
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    mul-int/lit8 v1, v8, 0x3

    add-int/lit8 v1, v1, 0x1

    aget v0, v0, v1

    move v11, v0

    goto/16 :goto_1

    .line 502
    .restart local v9       #il:F
    .restart local v11       #iy:F
    :cond_2
    const/16 v0, 0x5a

    if-ne v7, v0, :cond_3

    .line 508
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x0

    const/high16 v2, -0x4100

    aput v2, v0, v1

    .line 509
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x1

    const/high16 v2, 0x3f00

    sub-float v2, v10, v2

    aput v2, v0, v1

    .line 510
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x2

    const/high16 v2, 0x4000

    mul-float/2addr v2, v11

    aput v2, v0, v1

    .line 511
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x3

    const/high16 v2, 0x3f00

    aput v2, v0, v1

    .line 512
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x4

    const/high16 v2, 0x3f00

    sub-float v2, v10, v2

    aput v2, v0, v1

    .line 513
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x5

    const/high16 v2, 0x4000

    mul-float/2addr v2, v11

    aput v2, v0, v1

    .line 514
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x0

    const/4 v2, 0x0

    aput v2, v0, v1

    .line 515
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x1

    const/high16 v2, 0x3f80

    sub-float/2addr v2, v9

    aput v2, v0, v1

    .line 516
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x2

    const/high16 v2, 0x3f80

    aput v2, v0, v1

    .line 517
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x3

    const/high16 v2, 0x3f80

    sub-float/2addr v2, v9

    aput v2, v0, v1

    goto/16 :goto_2

    .line 519
    :cond_3
    const/16 v0, 0xb4

    if-ne v7, v0, :cond_4

    .line 524
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x0

    const/high16 v2, 0x3f00

    sub-float/2addr v2, v10

    aput v2, v0, v1

    .line 525
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x1

    const/high16 v2, -0x4100

    aput v2, v0, v1

    .line 526
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x2

    aput v11, v0, v1

    .line 527
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x3

    const/high16 v2, 0x3f00

    sub-float/2addr v2, v10

    aput v2, v0, v1

    .line 528
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x4

    const/high16 v2, 0x3f00

    aput v2, v0, v1

    .line 529
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x5

    aput v11, v0, v1

    .line 530
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x0

    const/high16 v2, 0x3f80

    sub-float/2addr v2, v9

    aput v2, v0, v1

    .line 531
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x1

    const/high16 v2, 0x3f80

    aput v2, v0, v1

    .line 532
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x2

    const/high16 v2, 0x3f80

    sub-float/2addr v2, v9

    aput v2, v0, v1

    .line 533
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x3

    const/4 v2, 0x0

    aput v2, v0, v1

    goto/16 :goto_2

    .line 535
    :cond_4
    const/16 v0, 0x10e

    if-ne v7, v0, :cond_0

    .line 541
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x0

    const/high16 v2, 0x3f00

    aput v2, v0, v1

    .line 542
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x1

    const/high16 v2, 0x3f00

    sub-float/2addr v2, v10

    aput v2, v0, v1

    .line 543
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x2

    const/high16 v2, 0x4000

    mul-float/2addr v2, v11

    aput v2, v0, v1

    .line 544
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x3

    const/high16 v2, -0x4100

    aput v2, v0, v1

    .line 545
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x4

    const/high16 v2, 0x3f00

    sub-float/2addr v2, v10

    aput v2, v0, v1

    .line 546
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mV:[F

    const/4 v1, 0x5

    const/high16 v2, 0x4000

    mul-float/2addr v2, v11

    aput v2, v0, v1

    .line 547
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x0

    const/high16 v2, 0x3f80

    aput v2, v0, v1

    .line 548
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x1

    aput v9, v0, v1

    .line 549
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x2

    const/4 v2, 0x0

    aput v2, v0, v1

    .line 550
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mT:[F

    const/4 v1, 0x3

    aput v9, v0, v1

    goto/16 :goto_2

    .line 562
    .end local v9           #il:F
    .end local v10           #ix:F
    .end local v11           #iy:F
    :cond_5
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 563
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 564
    return-void
.end method

.method buildRectVertex([FFFF)F
    .locals 13
    .parameter "vertex"
    .parameter "degree"
    .parameter "width"
    .parameter "height"

    .prologue
    .line 799
    const/high16 v11, 0x4000

    div-float v10, p3, v11

    .line 800
    .local v10, w:F
    const/high16 v11, 0x4000

    div-float v2, p4, v11

    .line 801
    .local v2, h:F
    const v11, 0x40490fdb

    mul-float/2addr v11, p2

    const/high16 v12, 0x4334

    div-float v6, v11, v12

    .line 802
    .local v6, rad:F
    float-to-double v11, v6

    invoke-static {v11, v12}, Ljava/lang/Math;->cos(D)D

    move-result-wide v11

    double-to-float v1, v11

    .line 803
    .local v1, cos:F
    float-to-double v11, v6

    invoke-static {v11, v12}, Ljava/lang/Math;->sin(D)D

    move-result-wide v11

    double-to-float v8, v11

    .line 804
    .local v8, sin:F
    move-object v5, p1

    .line 807
    .local v5, m:[F
    const/4 v11, 0x0

    neg-float v12, v10

    aput v12, v5, v11

    .line 808
    const/4 v11, 0x1

    neg-float v12, v2

    aput v12, v5, v11

    .line 809
    const/4 v11, 0x2

    aput v10, v5, v11

    .line 810
    const/4 v11, 0x3

    neg-float v12, v2

    aput v12, v5, v11

    .line 811
    const/4 v11, 0x4

    neg-float v12, v10

    aput v12, v5, v11

    .line 812
    const/4 v11, 0x5

    aput v2, v5, v11

    .line 813
    const/4 v11, 0x6

    aput v10, v5, v11

    .line 814
    const/4 v11, 0x7

    aput v2, v5, v11

    .line 815
    const/4 v11, 0x0

    invoke-virtual {p0, v5, v11, v1, v8}, Lcom/nemustech/tiffany/world/TFPagePanel;->calcRotateZ([FIFF)V

    .line 816
    const/4 v11, 0x2

    invoke-virtual {p0, v5, v11, v1, v8}, Lcom/nemustech/tiffany/world/TFPagePanel;->calcRotateZ([FIFF)V

    .line 817
    const/4 v11, 0x4

    invoke-virtual {p0, v5, v11, v1, v8}, Lcom/nemustech/tiffany/world/TFPagePanel;->calcRotateZ([FIFF)V

    .line 818
    const/4 v11, 0x6

    invoke-virtual {p0, v5, v11, v1, v8}, Lcom/nemustech/tiffany/world/TFPagePanel;->calcRotateZ([FIFF)V

    .line 821
    array-length v11, v5

    div-int/lit8 v0, v11, 0x2

    .line 822
    .local v0, c:I
    const/4 v9, 0x0

    .line 823
    .local v9, swap:Z
    const/4 v3, 0x0

    .local v3, i:I
    :goto_0
    if-ge v3, v0, :cond_4

    .line 824
    add-int/lit8 v4, v3, 0x1

    .local v4, j:I
    :goto_1
    if-ge v4, v0, :cond_3

    .line 825
    mul-int/lit8 v11, v3, 0x2

    add-int/lit8 v11, v11, 0x0

    aget v11, v5, v11

    mul-int/lit8 v12, v4, 0x2

    add-int/lit8 v12, v12, 0x0

    aget v12, v5, v12

    cmpl-float v11, v11, v12

    if-gtz v11, :cond_0

    mul-int/lit8 v11, v3, 0x2

    add-int/lit8 v11, v11, 0x0

    aget v11, v5, v11

    mul-int/lit8 v12, v4, 0x2

    add-int/lit8 v12, v12, 0x0

    aget v12, v5, v12

    cmpl-float v11, v11, v12

    if-nez v11, :cond_2

    mul-int/lit8 v11, v3, 0x2

    add-int/lit8 v11, v11, 0x1

    aget v11, v5, v11

    mul-int/lit8 v12, v4, 0x2

    add-int/lit8 v12, v12, 0x1

    aget v12, v5, v12

    cmpg-float v11, v11, v12

    if-gez v11, :cond_2

    :cond_0
    const/4 v11, 0x1

    move v9, v11

    .line 829
    :goto_2
    if-eqz v9, :cond_1

    .line 830
    const/4 v11, 0x2

    invoke-virtual {p0, v5, v3, v4, v11}, Lcom/nemustech/tiffany/world/TFPagePanel;->swapN([FIII)V

    .line 824
    :cond_1
    add-int/lit8 v4, v4, 0x1

    goto :goto_1

    .line 825
    :cond_2
    const/4 v11, 0x0

    move v9, v11

    goto :goto_2

    .line 823
    :cond_3
    add-int/lit8 v3, v3, 0x1

    goto :goto_0

    .line 834
    .end local v4           #j:I
    :cond_4
    const/4 v11, 0x6

    aget v11, v5, v11

    const/4 v12, 0x0

    aget v12, v5, v12

    sub-float v7, v11, v12

    .line 835
    .local v7, scale:F
    const/4 v3, 0x0

    :goto_3
    if-ge v3, v0, :cond_5

    .line 836
    mul-int/lit8 v11, v3, 0x2

    add-int/lit8 v11, v11, 0x0

    aget v12, v5, v11

    div-float/2addr v12, v7

    aput v12, v5, v11

    .line 837
    mul-int/lit8 v11, v3, 0x2

    add-int/lit8 v11, v11, 0x1

    aget v12, v5, v11

    div-float/2addr v12, v7

    aput v12, v5, v11

    .line 835
    add-int/lit8 v3, v3, 0x1

    goto :goto_3

    .line 839
    :cond_5
    return v7
.end method

.method buildVertexAndTexCoord()V
    .locals 2

    .prologue
    const/4 v1, 0x0

    .line 422
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mDirectionDegree:I

    rem-int/lit8 v0, v0, 0x5a

    if-nez v0, :cond_0

    .line 423
    invoke-virtual {p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->buildOrthogonal()V

    .line 427
    :goto_0
    invoke-virtual {p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->buildBackFace()V

    .line 428
    invoke-virtual {p0, v1}, Lcom/nemustech/tiffany/world/TFPagePanel;->adjustTexCoord(I)V

    .line 429
    const/4 v0, 0x1

    invoke-virtual {p0, v0}, Lcom/nemustech/tiffany/world/TFPagePanel;->adjustTexCoord(I)V

    .line 430
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 431
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    invoke-virtual {v0, v1}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 432
    invoke-virtual {p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->configureBottomShadow()V

    .line 433
    return-void

    .line 425
    :cond_0
    invoke-virtual {p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->buildDiagonal()V

    goto :goto_0
.end method

.method calcRotateZ([FIFF)V
    .locals 5
    .parameter "xyz"
    .parameter "offset"
    .parameter "cos"
    .parameter "sin"

    .prologue
    .line 736
    add-int/lit8 v2, p2, 0x0

    aget v0, p1, v2

    .line 737
    .local v0, x:F
    add-int/lit8 v2, p2, 0x1

    aget v1, p1, v2

    .line 738
    .local v1, y:F
    add-int/lit8 v2, p2, 0x0

    mul-float v3, p3, v0

    mul-float v4, p4, v1

    sub-float/2addr v3, v4

    aput v3, p1, v2

    .line 739
    add-int/lit8 v2, p2, 0x1

    mul-float v3, p4, v0

    mul-float v4, p3, v1

    add-float/2addr v3, v4

    aput v3, p1, v2

    .line 740
    return-void
.end method

.method protected configureBottomShadow()V
    .locals 42

    .prologue
    .line 859
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowPanel:Lcom/nemustech/tiffany/world/TFShadowPanel;

    move-object/from16 v38, v0

    if-nez v38, :cond_1

    .line 975
    :cond_0
    :goto_0
    return-void

    .line 862
    :cond_1
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowPanel:Lcom/nemustech/tiffany/world/TFShadowPanel;

    move-object/from16 v38, v0

    const/16 v39, 0x1

    invoke-virtual/range {v38 .. v39}, Lcom/nemustech/tiffany/world/TFShadowPanel;->setPriorAction(I)V

    .line 863
    const/16 v27, 0x0

    .line 864
    .local v27, vertexArray:[F
    if-nez v27, :cond_2

    .line 865
    invoke-virtual/range {p0 .. p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->getMaxLengthOfVertexArray()I

    move-result v19

    .line 866
    .local v19, m:I
    move/from16 v0, v19

    new-array v0, v0, [F

    move-object/from16 v27, v0

    .line 869
    .end local v19           #m:I
    :cond_2
    const/16 v38, 0x0

    move-object/from16 v0, p0

    move-object/from16 v1, v27

    move/from16 v2, v38

    invoke-virtual {v0, v1, v2}, Lcom/nemustech/tiffany/world/TFPagePanel;->getVertexArray([FI)I

    move-result v38

    div-int/lit8 v28, v38, 0x3

    .line 870
    .local v28, vertexCount:I
    const/4 v12, 0x0

    .line 871
    .local v12, foldingInflectionPoint:I
    mul-int/lit8 v38, v28, 0x3

    const/16 v39, 0x1

    sub-int v38, v38, v39

    aget v13, v27, v38

    .line 872
    .local v13, foldingStartHeight:F
    const/16 v38, 0x2

    aget v11, v27, v38

    .line 874
    .local v11, foldingEndHeight:F
    cmpg-float v38, v11, v13

    if-gez v38, :cond_7

    .line 875
    const/16 v38, 0x2

    sub-int v16, v28, v38

    .local v16, i:I
    :goto_1
    const/16 v38, 0x1

    move/from16 v0, v16

    move/from16 v1, v38

    if-lt v0, v1, :cond_3

    .line 876
    mul-int/lit8 v38, v16, 0x3

    add-int/lit8 v38, v38, 0x2

    aget v38, v27, v38

    const/high16 v39, 0x3f00

    mul-float v39, v39, v13

    cmpg-float v38, v38, v39

    if-gtz v38, :cond_6

    .line 877
    move/from16 v12, v16

    .line 891
    .end local v16           #i:I
    :cond_3
    :goto_2
    invoke-virtual/range {p0 .. p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->getTimeLine()F

    move-result v24

    .line 892
    .local v24, t:F
    const v6, 0x3dcccccd

    .line 894
    .local v6, BOTTOM_SHADOW_THRESHOLD:F
    const/16 v38, 0x1

    move v0, v12

    move/from16 v1, v38

    if-le v0, v1, :cond_10

    const v38, 0x3dcccccd

    cmpl-float v38, v24, v38

    if-lez v38, :cond_10

    const v38, 0x3f666666

    cmpg-float v38, v24, v38

    if-gez v38, :cond_10

    .line 895
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowPanel:Lcom/nemustech/tiffany/world/TFShadowPanel;

    move-object/from16 v38, v0

    const/16 v39, 0x1

    invoke-virtual/range {v38 .. v39}, Lcom/nemustech/tiffany/world/TFShadowPanel;->setVisibility(Z)V

    .line 896
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowWidth:F

    move/from16 v38, v0

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHeight:F

    move/from16 v39, v0

    const/high16 v40, 0x4000

    mul-float v39, v39, v40

    const/16 v40, 0x1

    const/16 v41, 0x1

    move-object/from16 v0, p0

    move/from16 v1, v38

    move/from16 v2, v39

    move/from16 v3, v40

    move/from16 v4, v41

    invoke-virtual {v0, v1, v2, v3, v4}, Lcom/nemustech/tiffany/world/TFPagePanel;->resizeShadowPanel(FFZZ)V

    .line 899
    mul-int/lit8 v38, v12, 0x3

    aget v32, v27, v38

    .line 900
    .local v32, x2:F
    mul-int/lit8 v38, v12, 0x3

    add-int/lit8 v38, v38, 0x1

    aget v35, v27, v38

    .line 901
    .local v35, y2:F
    const/16 v38, 0x1

    sub-int v38, v12, v38

    mul-int/lit8 v38, v38, 0x3

    aget v31, v27, v38

    .line 902
    .local v31, x1:F
    const/16 v38, 0x1

    sub-int v38, v12, v38

    mul-int/lit8 v38, v38, 0x3

    add-int/lit8 v38, v38, 0x1

    aget v34, v27, v38

    .line 903
    .local v34, y1:F
    add-float v38, v31, v32

    const/high16 v39, 0x3f00

    mul-float v20, v38, v39

    .line 904
    .local v20, midPointX:F
    add-float v38, v34, v35

    const/high16 v39, 0x3f00

    mul-float v21, v38, v39

    .line 905
    .local v21, midPointY:F
    mul-int/lit8 v38, v12, 0x3

    add-int/lit8 v38, v38, 0x2

    aget v37, v27, v38

    .line 906
    .local v37, z:F
    sub-float v38, v32, v31

    sub-float v39, v32, v31

    mul-float v38, v38, v39

    sub-float v39, v35, v34

    sub-float v40, v35, v34

    mul-float v39, v39, v40

    add-float v38, v38, v39

    move/from16 v0, v38

    float-to-double v0, v0

    move-wide/from16 v38, v0

    invoke-static/range {v38 .. v39}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide v38

    move-wide/from16 v0, v38

    double-to-float v0, v0

    move/from16 v25, v0

    .line 907
    .local v25, temp:F
    move/from16 v0, v31

    neg-float v0, v0

    move/from16 v38, v0

    sub-float v39, v32, v31

    mul-float v38, v38, v39

    sub-float v39, v35, v34

    mul-float v39, v39, v34

    sub-float v38, v38, v39

    mul-float v39, v25, v25

    div-float v26, v38, v39

    .line 908
    .local v26, u:F
    sub-float v38, v32, v31

    mul-float v38, v38, v26

    add-float v33, v31, v38

    .line 909
    .local v33, xOffset:F
    sub-float v38, v35, v34

    mul-float v38, v38, v26

    add-float v36, v34, v38

    .line 910
    .local v36, yOffset:F
    move-object/from16 v0, p0

    move/from16 v1, v33

    move/from16 v2, v36

    move/from16 v3, v20

    move/from16 v4, v21

    invoke-direct {v0, v1, v2, v3, v4}, Lcom/nemustech/tiffany/world/TFPagePanel;->pointDistance(FFFF)F

    move-result v29

    .line 911
    .local v29, verticalDeviation:F
    const/16 v38, 0x0

    cmpl-float v38, v33, v38

    if-lez v38, :cond_9

    const/high16 v38, 0x3f80

    move/from16 v15, v38

    .line 912
    .local v15, horizontalDeviationDirection:F
    :goto_3
    const/16 v38, 0x5a

    invoke-virtual/range {p0 .. p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->getDirectionDegree()I

    move-result v39

    move/from16 v0, v38

    move/from16 v1, v39

    if-ge v0, v1, :cond_4

    invoke-virtual/range {p0 .. p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->getDirectionDegree()I

    move-result v38

    const/16 v39, 0x10e

    move/from16 v0, v38

    move/from16 v1, v39

    if-ge v0, v1, :cond_4

    .line 913
    const/high16 v38, -0x4080

    mul-float v15, v15, v38

    .line 915
    :cond_4
    invoke-virtual/range {p0 .. p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->getDirectionDegree()I

    move-result v38

    if-ltz v38, :cond_b

    invoke-virtual/range {p0 .. p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->getDirectionDegree()I

    move-result v38

    const/16 v39, 0xb4

    move/from16 v0, v38

    move/from16 v1, v39

    if-ge v0, v1, :cond_b

    .line 916
    sub-float v38, v33, v20

    const/16 v39, 0x0

    cmpg-float v38, v38, v39

    if-gez v38, :cond_a

    .line 917
    const/high16 v30, -0x4080

    .line 929
    .local v30, verticalDeviationDirection:F
    :goto_4
    invoke-virtual/range {p0 .. p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->getDirectionDegree()I

    move-result v10

    .line 930
    .local v10, degree:I
    const/16 v38, 0xb4

    move v0, v10

    move/from16 v1, v38

    if-le v0, v1, :cond_5

    .line 931
    add-int/lit16 v10, v10, -0x168

    .line 932
    :cond_5
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowPanel:Lcom/nemustech/tiffany/world/TFShadowPanel;

    move-object/from16 v38, v0

    move v0, v10

    int-to-float v0, v0

    move/from16 v39, v0

    invoke-virtual/range {v38 .. v39}, Lcom/nemustech/tiffany/world/TFShadowPanel;->setHeadDegree(F)V

    .line 934
    mul-float v38, v33, v33

    mul-float v39, v36, v36

    add-float v38, v38, v39

    move/from16 v0, v38

    float-to-double v0, v0

    move-wide/from16 v38, v0

    invoke-static/range {v38 .. v39}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide v38

    move-wide/from16 v0, v38

    double-to-float v0, v0

    move/from16 v17, v0

    .line 935
    .local v17, inflectionPointDistance:F
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWorld:Lcom/nemustech/tiffany/world/TFWorld;

    move-object/from16 v38, v0

    invoke-virtual/range {v38 .. v38}, Lcom/nemustech/tiffany/world/TFWorld;->getCamera()Lcom/nemustech/tiffany/world/TFCamera;

    move-result-object v38

    const/16 v39, 0x2

    invoke-virtual/range {v38 .. v39}, Lcom/nemustech/tiffany/world/TFCamera;->getLocation(I)F

    move-result v8

    .line 936
    .local v8, cameraPositionZ:F
    add-float v38, v8, v37

    mul-float v38, v38, v17

    div-float v38, v38, v8

    const v39, 0x3d4ccccd

    mul-float v39, v39, v15

    sub-float v14, v38, v39

    .line 938
    .local v14, horizontalDeviation:F
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowPanel:Lcom/nemustech/tiffany/world/TFShadowPanel;

    move-object/from16 v38, v0

    mul-float v39, v14, v15

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowWidth:F

    move/from16 v40, v0

    const/high16 v41, 0x3f00

    mul-float v40, v40, v41

    add-float v39, v39, v40

    mul-float v40, v29, v30

    const/16 v41, 0x0

    invoke-virtual/range {v38 .. v41}, Lcom/nemustech/tiffany/world/TFShadowPanel;->locate(FFF)V

    .line 943
    const v5, 0x3e4ccccd

    .line 945
    .local v5, BORDER_SHADOW_THRESHOLD:F
    const v38, 0x3e4ccccd

    cmpl-float v38, v24, v38

    if-lez v38, :cond_0

    const v38, 0x3f4ccccd

    cmpg-float v38, v24, v38

    if-gez v38, :cond_0

    .line 947
    const/16 v38, 0x9

    move/from16 v0, v38

    new-array v0, v0, [F

    move-object v7, v0

    fill-array-data v7, :array_0

    .line 948
    .local v7, GRADATION_LEVEL:[F
    invoke-virtual/range {p0 .. p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->getBackgroundColorArray()Ljava/nio/FloatBuffer;

    move-result-object v9

    .line 950
    .local v9, colorBuffer:Ljava/nio/FloatBuffer;
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBackMaskOpacity:F

    move/from16 v38, v0

    const/16 v39, 0x0

    cmpl-float v38, v38, v39

    if-lez v38, :cond_d

    const/16 v38, 0x0

    move/from16 v23, v38

    .line 952
    .local v23, offsetBase:I
    :goto_5
    const/16 v16, 0x0

    .restart local v16       #i:I
    :goto_6
    move-object v0, v7

    array-length v0, v0

    move/from16 v38, v0

    move/from16 v0, v16

    move/from16 v1, v38

    if-ge v0, v1, :cond_0

    .line 954
    cmpg-float v38, v11, v13

    if-gez v38, :cond_e

    .line 955
    mul-int/lit8 v38, v16, 0x2

    add-int v38, v38, v12

    add-int/lit8 v38, v38, 0x1

    move-object v0, v7

    array-length v0, v0

    move/from16 v39, v0

    div-int/lit8 v39, v39, 0x2

    sub-int v22, v38, v39

    .line 959
    .local v22, offset:I
    :goto_7
    const/16 v38, 0x1

    move/from16 v0, v22

    move/from16 v1, v38

    if-lt v0, v1, :cond_f

    move/from16 v0, v22

    move/from16 v1, v28

    if-ge v0, v1, :cond_f

    .line 960
    move/from16 v18, v23

    .local v18, j:I
    :goto_8
    add-int/lit8 v38, v23, 0x3

    move/from16 v0, v18

    move/from16 v1, v38

    if-ge v0, v1, :cond_f

    .line 961
    const/16 v38, 0x1

    sub-int v38, v22, v38

    mul-int/lit8 v38, v38, 0x4

    add-int v38, v38, v18

    aget v39, v7, v16

    move-object v0, v9

    move/from16 v1, v38

    move/from16 v2, v39

    invoke-virtual {v0, v1, v2}, Ljava/nio/FloatBuffer;->put(IF)Ljava/nio/FloatBuffer;

    .line 962
    mul-int/lit8 v38, v22, 0x4

    add-int v38, v38, v18

    aget v39, v7, v16

    move-object v0, v9

    move/from16 v1, v38

    move/from16 v2, v39

    invoke-virtual {v0, v1, v2}, Ljava/nio/FloatBuffer;->put(IF)Ljava/nio/FloatBuffer;

    .line 960
    add-int/lit8 v18, v18, 0x1

    goto :goto_8

    .line 875
    .end local v5           #BORDER_SHADOW_THRESHOLD:F
    .end local v6           #BOTTOM_SHADOW_THRESHOLD:F
    .end local v7           #GRADATION_LEVEL:[F
    .end local v8           #cameraPositionZ:F
    .end local v9           #colorBuffer:Ljava/nio/FloatBuffer;
    .end local v10           #degree:I
    .end local v14           #horizontalDeviation:F
    .end local v15           #horizontalDeviationDirection:F
    .end local v17           #inflectionPointDistance:F
    .end local v18           #j:I
    .end local v20           #midPointX:F
    .end local v21           #midPointY:F
    .end local v22           #offset:I
    .end local v23           #offsetBase:I
    .end local v24           #t:F
    .end local v25           #temp:F
    .end local v26           #u:F
    .end local v29           #verticalDeviation:F
    .end local v30           #verticalDeviationDirection:F
    .end local v31           #x1:F
    .end local v32           #x2:F
    .end local v33           #xOffset:F
    .end local v34           #y1:F
    .end local v35           #y2:F
    .end local v36           #yOffset:F
    .end local v37           #z:F
    :cond_6
    add-int/lit8 v16, v16, -0x1

    goto/16 :goto_1

    .line 882
    .end local v16           #i:I
    :cond_7
    cmpl-float v38, v11, v13

    if-lez v38, :cond_3

    .line 883
    const/16 v16, 0x1

    .restart local v16       #i:I
    :goto_9
    const/16 v38, 0x2

    sub-int v38, v28, v38

    move/from16 v0, v16

    move/from16 v1, v38

    if-gt v0, v1, :cond_3

    .line 884
    mul-int/lit8 v38, v16, 0x3

    add-int/lit8 v38, v38, 0x2

    aget v38, v27, v38

    const/high16 v39, 0x3f00

    mul-float v39, v39, v11

    cmpg-float v38, v38, v39

    if-gtz v38, :cond_8

    .line 885
    move/from16 v12, v16

    .line 886
    goto/16 :goto_2

    .line 883
    :cond_8
    add-int/lit8 v16, v16, 0x1

    goto :goto_9

    .line 911
    .end local v16           #i:I
    .restart local v6       #BOTTOM_SHADOW_THRESHOLD:F
    .restart local v20       #midPointX:F
    .restart local v21       #midPointY:F
    .restart local v24       #t:F
    .restart local v25       #temp:F
    .restart local v26       #u:F
    .restart local v29       #verticalDeviation:F
    .restart local v31       #x1:F
    .restart local v32       #x2:F
    .restart local v33       #xOffset:F
    .restart local v34       #y1:F
    .restart local v35       #y2:F
    .restart local v36       #yOffset:F
    .restart local v37       #z:F
    :cond_9
    const/high16 v38, -0x4080

    move/from16 v15, v38

    goto/16 :goto_3

    .line 919
    .restart local v15       #horizontalDeviationDirection:F
    :cond_a
    const/high16 v30, 0x3f80

    .restart local v30       #verticalDeviationDirection:F
    goto/16 :goto_4

    .line 922
    .end local v30           #verticalDeviationDirection:F
    :cond_b
    sub-float v38, v33, v20

    const/16 v39, 0x0

    cmpg-float v38, v38, v39

    if-gez v38, :cond_c

    .line 923
    const/high16 v30, 0x3f80

    .restart local v30       #verticalDeviationDirection:F
    goto/16 :goto_4

    .line 925
    .end local v30           #verticalDeviationDirection:F
    :cond_c
    const/high16 v30, -0x4080

    .restart local v30       #verticalDeviationDirection:F
    goto/16 :goto_4

    .line 950
    .restart local v5       #BORDER_SHADOW_THRESHOLD:F
    .restart local v7       #GRADATION_LEVEL:[F
    .restart local v8       #cameraPositionZ:F
    .restart local v9       #colorBuffer:Ljava/nio/FloatBuffer;
    .restart local v10       #degree:I
    .restart local v14       #horizontalDeviation:F
    .restart local v17       #inflectionPointDistance:F
    :cond_d
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    move/from16 v38, v0

    mul-int/lit8 v38, v38, 0x4

    move/from16 v23, v38

    goto/16 :goto_5

    .line 957
    .restart local v16       #i:I
    .restart local v23       #offsetBase:I
    :cond_e
    mul-int/lit8 v38, v16, 0x2

    sub-int v38, v12, v38

    add-int/lit8 v38, v38, 0x1

    move-object v0, v7

    array-length v0, v0

    move/from16 v39, v0

    div-int/lit8 v39, v39, 0x2

    add-int v22, v38, v39

    .restart local v22       #offset:I
    goto/16 :goto_7

    .line 952
    :cond_f
    add-int/lit8 v16, v16, 0x1

    goto/16 :goto_6

    .line 969
    .end local v5           #BORDER_SHADOW_THRESHOLD:F
    .end local v7           #GRADATION_LEVEL:[F
    .end local v8           #cameraPositionZ:F
    .end local v9           #colorBuffer:Ljava/nio/FloatBuffer;
    .end local v10           #degree:I
    .end local v14           #horizontalDeviation:F
    .end local v15           #horizontalDeviationDirection:F
    .end local v16           #i:I
    .end local v17           #inflectionPointDistance:F
    .end local v20           #midPointX:F
    .end local v21           #midPointY:F
    .end local v22           #offset:I
    .end local v23           #offsetBase:I
    .end local v25           #temp:F
    .end local v26           #u:F
    .end local v29           #verticalDeviation:F
    .end local v30           #verticalDeviationDirection:F
    .end local v31           #x1:F
    .end local v32           #x2:F
    .end local v33           #xOffset:F
    .end local v34           #y1:F
    .end local v35           #y2:F
    .end local v36           #yOffset:F
    .end local v37           #z:F
    :cond_10
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowPanel:Lcom/nemustech/tiffany/world/TFShadowPanel;

    move-object/from16 v38, v0

    const/16 v39, 0x0

    invoke-virtual/range {v38 .. v39}, Lcom/nemustech/tiffany/world/TFShadowPanel;->setVisibility(Z)V

    goto/16 :goto_0

    .line 947
    :array_0
    .array-data 0x4
        0x66t 0x66t 0x66t 0x3ft
        0xcdt 0xcct 0x4ct 0x3ft
        0x33t 0x33t 0x33t 0x3ft
        0x9at 0x99t 0x19t 0x3ft
        0x0t 0x0t 0x0t 0x3ft
        0x9at 0x99t 0x19t 0x3ft
        0x33t 0x33t 0x33t 0x3ft
        0xcdt 0xcct 0x4ct 0x3ft
        0x66t 0x66t 0x66t 0x3ft
    .end array-data
.end method

.method protected create(FFLcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;)V
    .locals 2
    .parameter "width"
    .parameter "height"
    .parameter "i"

    .prologue
    const/4 v0, 0x0

    const/4 v1, 0x0

    .line 399
    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTimeLineStart:F

    .line 400
    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTimeLineEnd:F

    .line 401
    iput v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTicks:I

    .line 402
    iput v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTickAccum:I

    .line 403
    const/16 v0, 0x1e

    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTickElapse:I

    .line 404
    iput v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mDuration:I

    .line 405
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTimeInterpolator:Landroid/view/animation/Interpolator;

    .line 407
    invoke-virtual {p0, v1}, Lcom/nemustech/tiffany/world/TFPagePanel;->initTextureParam(I)V

    .line 408
    const/4 v0, 0x1

    invoke-virtual {p0, v0}, Lcom/nemustech/tiffany/world/TFPagePanel;->initTextureParam(I)V

    .line 410
    if-nez p3, :cond_0

    .line 411
    new-instance p3, Lcom/nemustech/tiffany/world/TFPagePanel$CircularPageOverInterpolator;

    .end local p3
    invoke-direct {p3}, Lcom/nemustech/tiffany/world/TFPagePanel$CircularPageOverInterpolator;-><init>()V

    .line 412
    .restart local p3
    :cond_0
    invoke-virtual {p0, p3}, Lcom/nemustech/tiffany/world/TFPagePanel;->setPageOverInterpolator(Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;)V

    .line 413
    invoke-virtual {p0, p1, p2}, Lcom/nemustech/tiffany/world/TFPagePanel;->setSize(FF)V

    .line 414
    return-void
.end method

.method protected drawVertex(Ljavax/microedition/khronos/opengles/GL10;I)V
    .locals 3
    .parameter "gl"
    .parameter "face"

    .prologue
    .line 417
    iget v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    mul-int v0, p2, v1

    .line 418
    .local v0, offset:I
    const/4 v1, 0x5

    iget v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    invoke-interface {p1, v1, v0, v2}, Ljavax/microedition/khronos/opengles/GL10;->glDrawArrays(III)V

    .line 419
    return-void
.end method

.method protected fillBorderShadow(Landroid/graphics/Canvas;IIIIFLandroid/graphics/Bitmap;II)V
    .locals 21
    .parameter "canvas"
    .parameter "faceIndex"
    .parameter "borderThickness"
    .parameter "borderWidth"
    .parameter "borderHeight"
    .parameter "darkAlpha"
    .parameter "image"
    .parameter "width"
    .parameter "height"

    .prologue
    .line 1297
    const/4 v12, 0x0

    .line 1298
    .local v12, beginAlpha:I
    const/high16 v5, 0x437f

    mul-float v5, v5, p6

    float-to-int v14, v5

    .line 1300
    .local v14, endAlpha:I
    new-instance v10, Landroid/graphics/Paint;

    invoke-direct {v10}, Landroid/graphics/Paint;-><init>()V

    .line 1301
    .local v10, paint:Landroid/graphics/Paint;
    const/16 v16, 0x0

    .line 1302
    .local v16, left:I
    const/16 v18, 0x0

    .line 1306
    .local v18, right:I
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mPageMode:I

    move v5, v0

    if-nez v5, :cond_0

    .line 1308
    const/16 v19, 0x2

    .line 1325
    .local v19, shadowId:I
    :goto_0
    const/4 v15, 0x0

    .local v15, i:I
    :goto_1
    move v0, v15

    move/from16 v1, p3

    if-gt v0, v1, :cond_5

    .line 1327
    packed-switch v19, :pswitch_data_0

    .line 1342
    :goto_2
    move v0, v15

    move/from16 v1, p3

    if-ne v0, v1, :cond_4

    .line 1344
    sget-object v5, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style;

    invoke-virtual {v10, v5}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V

    .line 1345
    const/4 v5, -0x1

    invoke-virtual {v10, v5}, Landroid/graphics/Paint;->setColor(I)V

    .line 1346
    move/from16 v0, v16

    int-to-float v0, v0

    move v6, v0

    int-to-float v7, v15

    move/from16 v0, v18

    int-to-float v0, v0

    move v8, v0

    sub-int v5, p5, v15

    int-to-float v9, v5

    move-object/from16 v5, p1

    invoke-virtual/range {v5 .. v10}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V

    .line 1325
    :goto_3
    add-int/lit8 v15, v15, 0x1

    goto :goto_1

    .line 1310
    .end local v15           #i:I
    .end local v19           #shadowId:I
    :cond_0
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mPageMode:I

    move v5, v0

    const/4 v6, 0x1

    if-ne v5, v6, :cond_2

    .line 1312
    if-nez p2, :cond_1

    .line 1313
    const/16 v19, 0x1

    .restart local v19       #shadowId:I
    goto :goto_0

    .line 1315
    .end local v19           #shadowId:I
    :cond_1
    const/16 v19, 0x0

    .restart local v19       #shadowId:I
    goto :goto_0

    .line 1319
    .end local v19           #shadowId:I
    :cond_2
    if-nez p2, :cond_3

    .line 1320
    const/16 v19, 0x0

    .restart local v19       #shadowId:I
    goto :goto_0

    .line 1322
    .end local v19           #shadowId:I
    :cond_3
    const/16 v19, 0x1

    .restart local v19       #shadowId:I
    goto :goto_0

    .line 1329
    .restart local v15       #i:I
    :pswitch_0
    const/16 v16, 0x0

    .line 1330
    sub-int v18, p4, v15

    .line 1331
    goto :goto_2

    .line 1333
    :pswitch_1
    move/from16 v16, v15

    .line 1334
    move/from16 v18, p4

    .line 1335
    goto :goto_2

    .line 1337
    :pswitch_2
    move/from16 v16, v15

    .line 1338
    sub-int v18, p4, v15

    goto :goto_2

    .line 1350
    :cond_4
    sget-object v5, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style;

    invoke-virtual {v10, v5}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V

    .line 1351
    const/4 v5, 0x0

    sub-int v5, v14, v5

    mul-int/2addr v5, v15

    div-int v5, v5, p3

    add-int/lit8 v11, v5, 0x0

    .line 1352
    .local v11, alpha:I
    const/4 v5, 0x0

    const/4 v6, 0x0

    const/4 v7, 0x0

    invoke-virtual {v10, v11, v5, v6, v7}, Landroid/graphics/Paint;->setARGB(IIII)V

    .line 1353
    move/from16 v0, v16

    int-to-float v0, v0

    move v6, v0

    int-to-float v7, v15

    const/4 v5, 0x1

    sub-int v5, v18, v5

    int-to-float v8, v5

    sub-int v5, p5, v15

    const/4 v9, 0x1

    sub-int/2addr v5, v9

    int-to-float v9, v5

    move-object/from16 v5, p1

    invoke-virtual/range {v5 .. v10}, Landroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V

    goto :goto_3

    .line 1357
    .end local v11           #alpha:I
    :cond_5
    if-eqz p7, :cond_9

    .line 1358
    if-eqz v19, :cond_7

    move/from16 v13, p3

    .line 1359
    .local v13, coordX:I
    :goto_4
    new-instance v17, Landroid/graphics/Rect;

    add-int v5, p8, v13

    add-int v6, p9, p3

    move-object/from16 v0, v17

    move v1, v13

    move/from16 v2, p3

    move v3, v5

    move v4, v6

    invoke-direct {v0, v1, v2, v3, v4}, Landroid/graphics/Rect;-><init>(IIII)V

    .line 1360
    .local v17, rDst:Landroid/graphics/Rect;
    const/4 v5, 0x0

    move-object/from16 v0, p1

    move-object/from16 v1, p7

    move-object v2, v5

    move-object/from16 v3, v17

    move-object v4, v10

    invoke-virtual {v0, v1, v2, v3, v4}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V

    .line 1362
    if-eqz v19, :cond_6

    const/4 v5, 0x1

    move/from16 v0, v19

    move v1, v5

    if-ne v0, v1, :cond_9

    :cond_6
    move-object/from16 v0, p0

    iget-boolean v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mShowCenterShadow:Z

    move v5, v0

    if-eqz v5, :cond_9

    .line 1364
    mul-int/lit8 v20, p3, 0x2

    .line 1365
    .local v20, shadowWidth:I
    sget-object v5, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style;

    invoke-virtual {v10, v5}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V

    .line 1366
    const/4 v15, 0x0

    :goto_5
    move v0, v15

    move/from16 v1, v20

    if-gt v0, v1, :cond_9

    .line 1367
    const/4 v5, 0x0

    sub-int v5, v14, v5

    mul-int/2addr v5, v15

    div-int v5, v5, v20

    add-int/lit8 v11, v5, 0x0

    .line 1368
    .restart local v11       #alpha:I
    const/4 v5, 0x0

    const/4 v6, 0x0

    const/4 v7, 0x0

    invoke-virtual {v10, v11, v5, v6, v7}, Landroid/graphics/Paint;->setARGB(IIII)V

    .line 1369
    if-nez v19, :cond_8

    sub-int v5, v20, v15

    :goto_6
    int-to-float v6, v5

    .line 1370
    .local v6, x:F
    move/from16 v0, p3

    int-to-float v0, v0

    move v7, v0

    sub-int v5, p5, p3

    int-to-float v9, v5

    move-object/from16 v5, p1

    move v8, v6

    invoke-virtual/range {v5 .. v10}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V

    .line 1366
    add-int/lit8 v15, v15, 0x1

    goto :goto_5

    .line 1358
    .end local v6           #x:F
    .end local v11           #alpha:I
    .end local v13           #coordX:I
    .end local v17           #rDst:Landroid/graphics/Rect;
    .end local v20           #shadowWidth:I
    :cond_7
    const/4 v5, 0x0

    move v13, v5

    goto :goto_4

    .line 1369
    .restart local v11       #alpha:I
    .restart local v13       #coordX:I
    .restart local v17       #rDst:Landroid/graphics/Rect;
    .restart local v20       #shadowWidth:I
    :cond_8
    sub-int v5, p4, v20

    add-int/2addr v5, v15

    goto :goto_6

    .line 1374
    .end local v11           #alpha:I
    .end local v13           #coordX:I
    .end local v17           #rDst:Landroid/graphics/Rect;
    .end local v20           #shadowWidth:I
    :cond_9
    return-void

    .line 1327
    :pswitch_data_0
    .packed-switch 0x0
        :pswitch_0
        :pswitch_1
        :pswitch_2
    .end packed-switch
.end method

.method getBackgroundColorArray()Ljava/nio/FloatBuffer;
    .locals 1

    .prologue
    .line 1184
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBackMaskColorBuffer:Ljava/nio/FloatBuffer;

    return-object v0
.end method

.method public getDecoratedPageBitmap(ILandroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
    .locals 2
    .parameter "faceIndex"
    .parameter "bmp"

    .prologue
    .line 1482
    if-nez p2, :cond_0

    .line 1483
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "We\'ve got null bmp"

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 1484
    :cond_0
    if-ltz p1, :cond_1

    const/4 v0, 0x1

    if-le p1, v0, :cond_2

    .line 1485
    :cond_1
    new-instance v0, Ljava/lang/IllegalArgumentException;

    const-string v1, "Invalid face index"

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 1487
    :cond_2
    invoke-virtual {p2}, Landroid/graphics/Bitmap;->getWidth()I

    move-result v0

    invoke-virtual {p2}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v1

    invoke-virtual {p0, p1, p2, v0, v1}, Lcom/nemustech/tiffany/world/TFPagePanel;->getDecoratedPageBitmap(ILandroid/graphics/Bitmap;II)Landroid/graphics/Bitmap;

    move-result-object v0

    return-object v0
.end method

.method public getDecoratedPageBitmap(ILandroid/graphics/Bitmap;II)Landroid/graphics/Bitmap;
    .locals 27
    .parameter "faceIndex"
    .parameter "image"
    .parameter "width"
    .parameter "height"

    .prologue
    .line 1387
    if-nez p2, :cond_0

    .line 1388
    new-instance v5, Ljava/lang/IllegalArgumentException;

    const-string v6, "We\'ve got null image"

    invoke-direct {v5, v6}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v5

    .line 1389
    :cond_0
    if-ltz p1, :cond_1

    const/4 v5, 0x1

    move/from16 v0, p1

    move v1, v5

    if-le v0, v1, :cond_2

    .line 1390
    :cond_1
    new-instance v5, Ljava/lang/IllegalArgumentException;

    const-string v6, "Invalid face index"

    invoke-direct {v5, v6}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v5

    .line 1392
    :cond_2
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBorderShadowRatio:F

    move v5, v0

    const/4 v6, 0x0

    cmpl-float v5, v5, v6

    if-lez v5, :cond_e

    .line 1393
    const v5, 0x3b03126f

    move v0, v5

    move-object/from16 v1, p0

    iput v0, v1, Lcom/nemustech/tiffany/world/TFPagePanel;->mUVMargin:F

    .line 1397
    invoke-static/range {p3 .. p4}, Ljava/lang/Math;->max(II)I

    move-result v5

    int-to-float v5, v5

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBorderShadowRatio:F

    move v6, v0

    mul-float/2addr v5, v6

    float-to-int v8, v5

    .line 1398
    .local v8, shadowBorderThickness:I
    add-int v5, p3, v8

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mPageMode:I

    move v6, v0

    if-nez v6, :cond_5

    move v6, v8

    :goto_0
    add-int v15, v5, v6

    .line 1399
    .local v15, inflatedWidth:I
    mul-int/lit8 v5, v8, 0x2

    add-int v16, p4, v5

    .line 1401
    .local v16, inflatedHeight:I
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRealWidth:F

    move v5, v0

    int-to-float v6, v15

    mul-float/2addr v5, v6

    move/from16 v0, p3

    int-to-float v0, v0

    move v6, v0

    div-float/2addr v5, v6

    const/high16 v6, 0x3f80

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mUVMargin:F

    move v7, v0

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mPageMode:I

    move v9, v0

    if-nez v9, :cond_6

    const/4 v9, 0x2

    :goto_1
    int-to-float v9, v9

    mul-float/2addr v7, v9

    sub-float/2addr v6, v7

    mul-float v25, v5, v6

    .line 1402
    .local v25, newWidth:F
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRealHeight:F

    move v5, v0

    move/from16 v0, v16

    int-to-float v0, v0

    move v6, v0

    mul-float/2addr v5, v6

    move/from16 v0, p4

    int-to-float v0, v0

    move v6, v0

    div-float/2addr v5, v6

    const/high16 v6, 0x3f80

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mUVMargin:F

    move v7, v0

    const/high16 v9, 0x4000

    mul-float/2addr v7, v9

    sub-float/2addr v6, v7

    mul-float v24, v5, v6

    .line 1404
    .local v24, newHeight:F
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWidth:F

    move v5, v0

    cmpl-float v5, v5, v25

    if-nez v5, :cond_3

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHeight:F

    move v5, v0

    cmpl-float v5, v5, v24

    if-eqz v5, :cond_4

    .line 1406
    :cond_3
    const-string v5, "TFPagePanel"

    const-string v6, "Panel inflated!"

    invoke-static {v5, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 1407
    const/4 v5, 0x1

    move-object/from16 v0, p0

    move/from16 v1, v25

    move/from16 v2, v24

    move v3, v5

    invoke-virtual {v0, v1, v2, v3}, Lcom/nemustech/tiffany/world/TFPagePanel;->setSize(FFZ)V

    .line 1410
    :cond_4
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBackMaskOpacity:F

    move v5, v0

    const/4 v6, 0x0

    cmpl-float v5, v5, v6

    if-lez v5, :cond_c

    const/4 v5, 0x1

    move/from16 v0, p1

    move v1, v5

    if-ne v0, v1, :cond_c

    .line 1417
    move-object/from16 v0, p0

    iget-boolean v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBackMaskHighQualityMode:Z

    move v5, v0

    if-eqz v5, :cond_8

    .line 1418
    move/from16 v0, p3

    move/from16 v1, p4

    if-lt v0, v1, :cond_7

    move/from16 v21, p3

    .line 1428
    .local v21, BACK_MASK_LENGTH:I
    :goto_2
    move/from16 v0, v21

    int-to-float v0, v0

    move v5, v0

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBorderShadowRatio:F

    move v6, v0

    mul-float/2addr v5, v6

    const/high16 v6, 0x3f00

    add-float/2addr v5, v6

    float-to-int v8, v5

    .line 1431
    move/from16 v0, p3

    move/from16 v1, p4

    if-lt v0, v1, :cond_a

    .line 1432
    add-int v5, v21, v8

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mPageMode:I

    move v6, v0

    if-nez v6, :cond_9

    move v6, v8

    :goto_3
    add-int v9, v5, v6

    .line 1433
    .local v9, shadowBorderWidth:I
    move/from16 v0, v21

    int-to-float v0, v0

    move v5, v0

    move/from16 v0, p4

    int-to-float v0, v0

    move v6, v0

    mul-float/2addr v5, v6

    move/from16 v0, p3

    int-to-float v0, v0

    move v6, v0

    div-float/2addr v5, v6

    const/high16 v6, 0x3f00

    add-float/2addr v5, v6

    float-to-int v5, v5

    mul-int/lit8 v6, v8, 0x2

    add-int v10, v5, v6

    .line 1441
    .local v10, shadowBorderHeight:I
    :goto_4
    const-string v5, "TFPagePanel"

    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V

    const-string v7, "Shadow border width : "

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v6

    invoke-static {v5, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 1442
    const-string v5, "TFPagePanel"

    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V

    const-string v7, "Shadow border height : "

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v6

    invoke-static {v5, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 1443
    const-string v5, "TFPagePanel"

    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V

    const-string v7, "Shadow Length : "

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v6

    invoke-static {v5, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 1445
    sget-object v5, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;

    invoke-static {v9, v10, v5}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;

    move-result-object v22

    .line 1448
    .local v22, backMask:Landroid/graphics/Bitmap;
    const/4 v5, 0x0

    move-object/from16 v0, v22

    move v1, v5

    invoke-virtual {v0, v1}, Landroid/graphics/Bitmap;->eraseColor(I)V

    .line 1449
    new-instance v6, Landroid/graphics/Canvas;

    move-object v0, v6

    move-object/from16 v1, v22

    invoke-direct {v0, v1}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V

    .line 1450
    .local v6, cvs:Landroid/graphics/Canvas;
    const/4 v7, 0x1

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBorderShadowDarkAlpha:F

    move v11, v0

    const/4 v12, 0x0

    move-object/from16 v5, p0

    move/from16 v13, p3

    move/from16 v14, p4

    invoke-virtual/range {v5 .. v14}, Lcom/nemustech/tiffany/world/TFPagePanel;->fillBorderShadow(Landroid/graphics/Canvas;IIIIFLandroid/graphics/Bitmap;II)V

    move-object/from16 v5, v22

    .line 1471
    .end local v6           #cvs:Landroid/graphics/Canvas;
    .end local v8           #shadowBorderThickness:I
    .end local v9           #shadowBorderWidth:I
    .end local v10           #shadowBorderHeight:I
    .end local v15           #inflatedWidth:I
    .end local v16           #inflatedHeight:I
    .end local v21           #BACK_MASK_LENGTH:I
    .end local v22           #backMask:Landroid/graphics/Bitmap;
    .end local v24           #newHeight:F
    .end local v25           #newWidth:F
    :goto_5
    return-object v5

    .line 1398
    .restart local v8       #shadowBorderThickness:I
    :cond_5
    const/4 v6, 0x0

    goto/16 :goto_0

    .line 1401
    .restart local v15       #inflatedWidth:I
    .restart local v16       #inflatedHeight:I
    :cond_6
    const/4 v9, 0x1

    goto/16 :goto_1

    .restart local v24       #newHeight:F
    .restart local v25       #newWidth:F
    :cond_7
    move/from16 v21, p4

    .line 1418
    goto/16 :goto_2

    .line 1421
    :cond_8
    const/16 v21, 0x100

    .restart local v21       #BACK_MASK_LENGTH:I
    goto/16 :goto_2

    .line 1432
    :cond_9
    const/4 v6, 0x0

    goto/16 :goto_3

    .line 1437
    :cond_a
    move/from16 v0, v21

    int-to-float v0, v0

    move v5, v0

    move/from16 v0, p3

    int-to-float v0, v0

    move v6, v0

    mul-float/2addr v5, v6

    move/from16 v0, p4

    int-to-float v0, v0

    move v6, v0

    div-float/2addr v5, v6

    const/high16 v6, 0x3f00

    add-float/2addr v5, v6

    float-to-int v5, v5

    add-int/2addr v5, v8

    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mPageMode:I

    move v6, v0

    if-nez v6, :cond_b

    move v6, v8

    :goto_6
    add-int v9, v5, v6

    .line 1438
    .restart local v9       #shadowBorderWidth:I
    mul-int/lit8 v5, v8, 0x2

    add-int v10, v21, v5

    .restart local v10       #shadowBorderHeight:I
    goto/16 :goto_4

    .line 1437
    .end local v9           #shadowBorderWidth:I
    .end local v10           #shadowBorderHeight:I
    :cond_b
    const/4 v6, 0x0

    goto :goto_6

    .line 1453
    .end local v21           #BACK_MASK_LENGTH:I
    :cond_c
    sget-object v5, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;

    move v0, v15

    move/from16 v1, v16

    move-object v2, v5

    invoke-static {v0, v1, v2}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;

    move-result-object v23

    .line 1456
    .local v23, inflatedFront:Landroid/graphics/Bitmap;
    const/4 v5, 0x0

    move-object/from16 v0, v23

    move v1, v5

    invoke-virtual {v0, v1}, Landroid/graphics/Bitmap;->setDensity(I)V

    .line 1457
    const/4 v5, 0x0

    move-object/from16 v0, v23

    move v1, v5

    invoke-virtual {v0, v1}, Landroid/graphics/Bitmap;->eraseColor(I)V

    .line 1458
    new-instance v6, Landroid/graphics/Canvas;

    move-object v0, v6

    move-object/from16 v1, v23

    invoke-direct {v0, v1}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V

    .line 1460
    .restart local v6       #cvs:Landroid/graphics/Canvas;
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBackMaskOpacity:F

    move v5, v0

    const/4 v7, 0x0

    cmpl-float v5, v5, v7

    if-lez v5, :cond_d

    if-nez p1, :cond_d

    .line 1462
    new-instance v26, Landroid/graphics/Rect;

    add-int v5, p3, v8

    add-int v7, p4, v8

    move-object/from16 v0, v26

    move v1, v8

    move v2, v8

    move v3, v5

    move v4, v7

    invoke-direct {v0, v1, v2, v3, v4}, Landroid/graphics/Rect;-><init>(IIII)V

    .line 1463
    .local v26, rDst:Landroid/graphics/Rect;
    const/4 v5, 0x0

    new-instance v7, Landroid/graphics/Paint;

    invoke-direct {v7}, Landroid/graphics/Paint;-><init>()V

    move-object v0, v6

    move-object/from16 v1, p2

    move-object v2, v5

    move-object/from16 v3, v26

    move-object v4, v7

    invoke-virtual {v0, v1, v2, v3, v4}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V

    .end local v26           #rDst:Landroid/graphics/Rect;
    :goto_7
    move-object/from16 v5, v23

    .line 1468
    goto/16 :goto_5

    .line 1466
    :cond_d
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBorderShadowDarkAlpha:F

    move/from16 v17, v0

    move-object/from16 v11, p0

    move-object v12, v6

    move/from16 v13, p1

    move v14, v8

    move-object/from16 v18, p2

    move/from16 v19, p3

    move/from16 v20, p4

    invoke-virtual/range {v11 .. v20}, Lcom/nemustech/tiffany/world/TFPagePanel;->fillBorderShadow(Landroid/graphics/Canvas;IIIIFLandroid/graphics/Bitmap;II)V

    goto :goto_7

    .end local v6           #cvs:Landroid/graphics/Canvas;
    .end local v8           #shadowBorderThickness:I
    .end local v15           #inflatedWidth:I
    .end local v16           #inflatedHeight:I
    .end local v23           #inflatedFront:Landroid/graphics/Bitmap;
    .end local v24           #newHeight:F
    .end local v25           #newWidth:F
    :cond_e
    move-object/from16 v5, p2

    .line 1471
    goto/16 :goto_5
.end method

.method public getDirectionDegree()I
    .locals 2

    .prologue
    .line 114
    const-class v0, Lcom/nemustech/tiffany/world/TFWorld;

    monitor-enter v0

    .line 115
    :try_start_0
    iget v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mDirectionDegree:I

    monitor-exit v0

    return v1

    .line 116
    :catchall_0
    move-exception v1

    monitor-exit v0
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v1
.end method

.method public getElapse()I
    .locals 1

    .prologue
    .line 217
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTickElapse:I

    return v0
.end method

.method public getFlipToBackface()Z
    .locals 1

    .prologue
    .line 1568
    iget-boolean v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mFlipToBackface:Z

    return v0
.end method

.method getInterpolatorOfL([FF[FI)F
    .locals 10
    .parameter "iXYL"
    .parameter "l"
    .parameter "xy"
    .parameter "offset"

    .prologue
    const/high16 v9, 0x3f00

    .line 747
    const/4 v8, 0x0

    aget v5, p1, v8

    .line 748
    .local v5, ixPrev:F
    const/4 v8, 0x1

    aget v7, p1, v8

    .line 749
    .local v7, iyPrev:F
    const/4 v8, 0x2

    aget v3, p1, v8

    .line 752
    .local v3, ilPrev:F
    const/4 v1, 0x1

    .line 754
    .local v1, i:I
    :goto_0
    mul-int/lit8 v8, v1, 0x3

    add-int/lit8 v8, v8, 0x0

    aget v4, p1, v8

    .line 755
    .local v4, ix:F
    mul-int/lit8 v8, v1, 0x3

    add-int/lit8 v8, v8, 0x1

    aget v6, p1, v8

    .line 756
    .local v6, iy:F
    mul-int/lit8 v8, v1, 0x3

    add-int/lit8 v8, v8, 0x2

    aget v2, p1, v8

    .line 758
    .local v2, il:F
    cmpl-float v8, v2, p2

    if-ltz v8, :cond_2

    .line 759
    cmpg-float v8, v7, v6

    if-gez v8, :cond_0

    .line 761
    sub-float v8, v2, p2

    sub-float v9, v2, v3

    div-float v0, v8, v9

    .line 762
    .local v0, c:F
    add-int/lit8 v8, p4, 0x0

    sub-float v9, v4, v5

    mul-float/2addr v9, v0

    sub-float v9, v4, v9

    aput v9, p3, v8

    .line 763
    add-int/lit8 v8, p4, 0x1

    sub-float v9, v6, v7

    mul-float/2addr v9, v0

    sub-float v9, v6, v9

    aput v9, p3, v8

    .end local v0           #c:F
    :goto_1
    move v8, v2

    .line 787
    :goto_2
    return v8

    .line 765
    :cond_0
    sub-float v8, v4, v5

    const/4 v9, 0x0

    cmpg-float v8, v8, v9

    if-gez v8, :cond_1

    .line 767
    add-int/lit8 v8, p4, 0x0

    sub-float v9, v2, p2

    add-float/2addr v9, v4

    aput v9, p3, v8

    .line 768
    add-int/lit8 v8, p4, 0x1

    aput v6, p3, v8

    goto :goto_1

    .line 772
    :cond_1
    add-int/lit8 v8, p4, 0x0

    aput p2, p3, v8

    .line 773
    add-int/lit8 v8, p4, 0x1

    aput v6, p3, v8

    goto :goto_1

    .line 778
    :cond_2
    cmpl-float v8, v2, v9

    if-ltz v8, :cond_3

    .line 785
    add-int/lit8 v8, p4, 0x0

    aput v4, p3, v8

    .line 786
    add-int/lit8 v8, p4, 0x1

    aput v6, p3, v8

    move v8, v9

    .line 787
    goto :goto_2

    .line 780
    :cond_3
    move v5, v4

    .line 781
    move v7, v6

    .line 782
    move v3, v2

    .line 783
    add-int/lit8 v1, v1, 0x1

    goto :goto_0
.end method

.method getMaxLengthOfVertexArray()I
    .locals 2

    .prologue
    .line 1237
    iget-object v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mInterpolator:Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;

    invoke-virtual {v1}, Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;->getElemCount()I

    move-result v1

    add-int/lit8 v1, v1, 0x2

    mul-int/lit8 v0, v1, 0x2

    .line 1238
    .local v0, count:I
    mul-int/lit8 v1, v0, 0x3

    return v1
.end method

.method public getPageMode()I
    .locals 1

    .prologue
    .line 1587
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mPageMode:I

    return v0
.end method

.method public getPageOverInterpolator()Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;
    .locals 1

    .prologue
    .line 1151
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mInterpolator:Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;

    return-object v0
.end method

.method public getTimeLine()F
    .locals 5

    .prologue
    const/high16 v4, 0x3f80

    .line 169
    const-class v1, Lcom/nemustech/tiffany/world/TFWorld;

    monitor-enter v1

    .line 170
    :try_start_0
    iget v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mDuration:I

    if-nez v2, :cond_0

    .line 171
    iget v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTimeLineStart:F

    monitor-exit v1

    move v1, v2

    .line 180
    :goto_0
    return v1

    .line 173
    :cond_0
    iget v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTicks:I

    int-to-float v2, v2

    iget v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mDuration:I

    int-to-float v3, v3

    div-float v0, v2, v3

    .line 174
    .local v0, t:F
    const/4 v2, 0x0

    cmpg-float v2, v0, v2

    if-gez v2, :cond_1

    .line 175
    iget v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTimeLineStart:F

    monitor-exit v1

    move v1, v2

    goto :goto_0

    .line 176
    :cond_1
    cmpl-float v2, v0, v4

    if-lez v2, :cond_2

    .line 177
    iget v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTimeLineEnd:F

    monitor-exit v1

    move v1, v2

    goto :goto_0

    .line 178
    :cond_2
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTimeInterpolator:Landroid/view/animation/Interpolator;

    if-eqz v2, :cond_3

    .line 179
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTimeInterpolator:Landroid/view/animation/Interpolator;

    invoke-interface {v2, v0}, Landroid/view/animation/Interpolator;->getInterpolation(F)F

    move-result v0

    .line 180
    :cond_3
    sub-float v2, v4, v0

    iget v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTimeLineStart:F

    mul-float/2addr v2, v3

    iget v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTimeLineEnd:F

    mul-float/2addr v3, v0

    add-float/2addr v2, v3

    monitor-exit v1

    move v1, v2

    goto :goto_0

    .line 181
    .end local v0           #t:F
    :catchall_0
    move-exception v2

    monitor-exit v1
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v2
.end method

.method getVertexArray([FI)I
    .locals 3
    .parameter "a"
    .parameter "offset"

    .prologue
    .line 1210
    iget v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    mul-int/lit8 v0, v1, 0x3

    .line 1212
    .local v0, count:I
    if-nez p1, :cond_0

    move v1, v0

    .line 1231
    :goto_0
    return v1

    .line 1214
    :cond_0
    array-length v1, p1

    sub-int/2addr v1, p2

    if-ge v1, v0, :cond_1

    .line 1216
    const/4 v1, -0x1

    goto :goto_0

    .line 1229
    :cond_1
    iget-object v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    invoke-virtual {v1, p1, p2, v0}, Ljava/nio/FloatBuffer;->get([FII)Ljava/nio/FloatBuffer;

    .line 1230
    iget-object v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    const/4 v2, 0x0

    invoke-virtual {v1, v2}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    move v1, v0

    .line 1231
    goto :goto_0
.end method

.method getVertexBuffer()Ljava/nio/FloatBuffer;
    .locals 1

    .prologue
    .line 1194
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    invoke-virtual {v0}, Ljava/nio/FloatBuffer;->asReadOnlyBuffer()Ljava/nio/FloatBuffer;

    move-result-object v0

    return-object v0
.end method

.method getVertexCount()I
    .locals 1

    .prologue
    .line 1201
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    return v0
.end method

.method initTextureParam(I)V
    .locals 3
    .parameter "face"

    .prologue
    const/4 v1, 0x0

    const/high16 v2, 0x3f80

    .line 1175
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mImageOrientation:[I

    aput v1, v0, p1

    .line 1176
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mReverseWay:[I

    aput v1, v0, p1

    .line 1177
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureScale:[F

    mul-int/lit8 v1, p1, 0x2

    add-int/lit8 v1, v1, 0x0

    aput v2, v0, v1

    .line 1178
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureScale:[F

    mul-int/lit8 v1, p1, 0x2

    add-int/lit8 v1, v1, 0x1

    aput v2, v0, v1

    .line 1179
    return-void
.end method

.method protected isInEffectAnimation()Z
    .locals 1

    .prologue
    .line 300
    invoke-super {p0}, Lcom/nemustech/tiffany/world/TFModel;->isInEffectAnimation()Z

    move-result v0

    if-nez v0, :cond_0

    invoke-virtual {p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->isPlaying()Z

    move-result v0

    if-eqz v0, :cond_1

    :cond_0
    const/4 v0, 0x1

    :goto_0
    return v0

    :cond_1
    const/4 v0, 0x0

    goto :goto_0
.end method

.method isPlaying()Z
    .locals 2

    .prologue
    .line 184
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTicks:I

    iget v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mDuration:I

    if-ge v0, v1, :cond_0

    const/4 v0, 0x1

    :goto_0
    return v0

    :cond_0
    const/4 v0, 0x0

    goto :goto_0
.end method

.method isSamePointN([FI[FII)Z
    .locals 3
    .parameter "p1"
    .parameter "p1Offset"
    .parameter "p2"
    .parameter "p2Offset"
    .parameter "n"

    .prologue
    .line 852
    const/4 v0, 0x0

    .local v0, i:I
    :goto_0
    if-ge v0, p5, :cond_1

    .line 853
    add-int v1, p2, v0

    aget v1, p1, v1

    add-int v2, p4, v0

    aget v2, p3, v2

    cmpl-float v1, v1, v2

    if-eqz v1, :cond_0

    .line 854
    const/4 v1, 0x0

    .line 855
    :goto_1
    return v1

    .line 852
    :cond_0
    add-int/lit8 v0, v0, 0x1

    goto :goto_0

    .line 855
    :cond_1
    const/4 v1, 0x1

    goto :goto_1
.end method

.method protected onDraw(Ljavax/microedition/khronos/opengles/GL10;I)Z
    .locals 2
    .parameter "gl"
    .parameter "tickPassed"

    .prologue
    const/4 v1, 0x1

    .line 306
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowPanel:Lcom/nemustech/tiffany/world/TFShadowPanel;

    if-eqz v0, :cond_0

    .line 307
    invoke-interface {p1}, Ljavax/microedition/khronos/opengles/GL10;->glPushMatrix()V

    .line 308
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowPanel:Lcom/nemustech/tiffany/world/TFShadowPanel;

    invoke-virtual {v0, p1, p2}, Lcom/nemustech/tiffany/world/TFShadowPanel;->_draw(Ljavax/microedition/khronos/opengles/GL10;I)V

    .line 309
    invoke-interface {p1}, Ljavax/microedition/khronos/opengles/GL10;->glPopMatrix()V

    .line 310
    iget-boolean v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mIsBorderPanelEnabled:Z

    if-ne v0, v1, :cond_0

    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBorderPanel:Lcom/nemustech/tiffany/world/TFPanel;

    if-eqz v0, :cond_0

    .line 311
    invoke-interface {p1}, Ljavax/microedition/khronos/opengles/GL10;->glPushMatrix()V

    .line 312
    invoke-interface {p1}, Ljavax/microedition/khronos/opengles/GL10;->glLoadIdentity()V

    .line 313
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBorderPanel:Lcom/nemustech/tiffany/world/TFPanel;

    invoke-virtual {v0, p1, p2}, Lcom/nemustech/tiffany/world/TFPanel;->_draw(Ljavax/microedition/khronos/opengles/GL10;I)V

    .line 314
    invoke-interface {p1}, Ljavax/microedition/khronos/opengles/GL10;->glPopMatrix()V

    .line 317
    :cond_0
    return v1
.end method

.method protected onDrawVertex(Ljavax/microedition/khronos/opengles/GL10;IZ)V
    .locals 7
    .parameter "gl"
    .parameter "index"
    .parameter "reflection"

    .prologue
    const/4 v6, 0x1

    const v5, 0x8076

    const/4 v4, 0x0

    const/high16 v3, 0x3f80

    .line 325
    if-ne p2, v6, :cond_1

    .line 326
    invoke-interface {p1, v5}, Ljavax/microedition/khronos/opengles/GL10;->glEnableClientState(I)V

    .line 327
    const/4 v0, 0x4

    const/16 v1, 0x1406

    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBackMaskColorBuffer:Ljava/nio/FloatBuffer;

    invoke-interface {p1, v0, v1, v4, v2}, Ljavax/microedition/khronos/opengles/GL10;->glColorPointer(IIILjava/nio/Buffer;)V

    .line 329
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBackMaskOpacity:F

    const/4 v1, 0x0

    cmpl-float v0, v0, v1

    if-eqz v0, :cond_0

    .line 331
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextures:Lcom/nemustech/tiffany/world/TFTextures;

    invoke-virtual {v0, p1, v4}, Lcom/nemustech/tiffany/world/TFTextures;->setTextureByIndex(Ljavax/microedition/khronos/opengles/GL10;I)V

    .line 332
    invoke-virtual {p0, p1, v4}, Lcom/nemustech/tiffany/world/TFPagePanel;->drawVertex(Ljavax/microedition/khronos/opengles/GL10;I)V

    .line 333
    invoke-interface {p1, v5}, Ljavax/microedition/khronos/opengles/GL10;->glDisableClientState(I)V

    .line 334
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBackMaskOpacity:F

    invoke-interface {p1, v3, v3, v3, v0}, Ljavax/microedition/khronos/opengles/GL10;->glColor4f(FFFF)V

    .line 335
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextures:Lcom/nemustech/tiffany/world/TFTextures;

    invoke-virtual {v0, p1, v6}, Lcom/nemustech/tiffany/world/TFTextures;->setTextureByIndex(Ljavax/microedition/khronos/opengles/GL10;I)V

    .line 336
    invoke-virtual {p0, p1, p2}, Lcom/nemustech/tiffany/world/TFPagePanel;->drawVertex(Ljavax/microedition/khronos/opengles/GL10;I)V

    .line 348
    :goto_0
    return-void

    .line 340
    :cond_0
    invoke-virtual {p0, p1, p2}, Lcom/nemustech/tiffany/world/TFPagePanel;->drawVertex(Ljavax/microedition/khronos/opengles/GL10;I)V

    .line 341
    invoke-interface {p1, v5}, Ljavax/microedition/khronos/opengles/GL10;->glDisableClientState(I)V

    goto :goto_0

    .line 346
    :cond_1
    invoke-virtual {p0, p1, p2}, Lcom/nemustech/tiffany/world/TFPagePanel;->drawVertex(Ljavax/microedition/khronos/opengles/GL10;I)V

    goto :goto_0
.end method

.method public referTo(Lcom/nemustech/tiffany/world/TFPanel;)V
    .locals 1
    .parameter "attachPanel"

    .prologue
    .line 1281
    if-eqz p1, :cond_0

    .line 1282
    iput-object p1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBorderPanel:Lcom/nemustech/tiffany/world/TFPanel;

    .line 1283
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWorld:Lcom/nemustech/tiffany/world/TFWorld;

    iput-object v0, p1, Lcom/nemustech/tiffany/world/TFPanel;->mWorld:Lcom/nemustech/tiffany/world/TFWorld;

    .line 1284
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mIsBorderPanelEnabled:Z

    .line 1286
    :cond_0
    return-void
.end method

.method protected resizeShadowPanel(FFZZ)V
    .locals 8
    .parameter "width"
    .parameter "height"
    .parameter "updateColorBuffer"
    .parameter "updateVertexBuffer"

    .prologue
    const/16 v7, 0x18

    const/high16 v6, 0x4110

    const/high16 v5, 0x4040

    const/4 v4, 0x0

    .line 1510
    iput p1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowWidth:F

    .line 1511
    iput p2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowHeight:F

    .line 1513
    if-eqz p3, :cond_0

    .line 1514
    const/16 v2, 0x20

    new-array v0, v2, [F

    const/4 v2, 0x0

    aput v4, v0, v2

    const/4 v2, 0x1

    aput v4, v0, v2

    const/4 v2, 0x2

    aput v4, v0, v2

    const/4 v2, 0x3

    iget v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowAlpha:F

    aput v3, v0, v2

    const/4 v2, 0x4

    aput v4, v0, v2

    const/4 v2, 0x5

    aput v4, v0, v2

    const/4 v2, 0x6

    aput v4, v0, v2

    const/4 v2, 0x7

    iget v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowAlpha:F

    div-float/2addr v3, v5

    aput v3, v0, v2

    const/16 v2, 0x8

    aput v4, v0, v2

    const/16 v2, 0x9

    aput v4, v0, v2

    const/16 v2, 0xa

    aput v4, v0, v2

    const/16 v2, 0xb

    iget v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowAlpha:F

    div-float/2addr v3, v6

    aput v3, v0, v2

    const/16 v2, 0xc

    aput v4, v0, v2

    const/16 v2, 0xd

    aput v4, v0, v2

    const/16 v2, 0xe

    aput v4, v0, v2

    const/16 v2, 0xf

    aput v4, v0, v2

    const/16 v2, 0x10

    aput v4, v0, v2

    const/16 v2, 0x11

    aput v4, v0, v2

    const/16 v2, 0x12

    aput v4, v0, v2

    const/16 v2, 0x13

    iget v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowAlpha:F

    aput v3, v0, v2

    const/16 v2, 0x14

    aput v4, v0, v2

    const/16 v2, 0x15

    aput v4, v0, v2

    const/16 v2, 0x16

    aput v4, v0, v2

    const/16 v2, 0x17

    iget v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowAlpha:F

    div-float/2addr v3, v5

    aput v3, v0, v2

    aput v4, v0, v7

    const/16 v2, 0x19

    aput v4, v0, v2

    const/16 v2, 0x1a

    aput v4, v0, v2

    const/16 v2, 0x1b

    iget v3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowAlpha:F

    div-float/2addr v3, v6

    aput v3, v0, v2

    const/16 v2, 0x1c

    aput v4, v0, v2

    const/16 v2, 0x1d

    aput v4, v0, v2

    const/16 v2, 0x1e

    aput v4, v0, v2

    const/16 v2, 0x1f

    aput v4, v0, v2

    .line 1535
    .local v0, colorBuffer:[F
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowPanel:Lcom/nemustech/tiffany/world/TFShadowPanel;

    invoke-virtual {v2, v0}, Lcom/nemustech/tiffany/world/TFShadowPanel;->setMeshColor([F)V

    .line 1538
    .end local v0           #colorBuffer:[F
    :cond_0
    if-eqz p4, :cond_1

    .line 1539
    new-array v1, v7, [F

    fill-array-data v1, :array_0

    .line 1559
    .local v1, vertexBuffer:[F
    iget-object v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowPanel:Lcom/nemustech/tiffany/world/TFShadowPanel;

    invoke-virtual {v2, v1}, Lcom/nemustech/tiffany/world/TFShadowPanel;->setMeshVertex([F)V

    .line 1561
    .end local v1           #vertexBuffer:[F
    :cond_1
    return-void

    .line 1539
    nop

    :array_0
    .array-data 0x4
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x0t 0x0t
        0x33t 0x33t 0xb3t 0x3et
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x0t 0x0t
        0xcdt 0xcct 0xct 0x3ft
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x0t 0x0t
        0x33t 0x33t 0xb3t 0x3et
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x0t 0x0t
        0xcdt 0xcct 0xct 0x3ft
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x0t 0x0t
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x80t 0x3ft
        0x0t 0x0t 0x0t 0x0t
    .end array-data
.end method

.method public reverseImage(II)V
    .locals 2
    .parameter "index"
    .parameter "reverseWay"

    .prologue
    .line 229
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mReverseWay:[I

    aget v0, v0, p1

    if-ne v0, p2, :cond_1

    .line 237
    :cond_0
    :goto_0
    return-void

    .line 231
    :cond_1
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mReverseWay:[I

    aput p2, v0, p1

    .line 233
    const-class v0, Lcom/nemustech/tiffany/world/TFWorld;

    monitor-enter v0

    .line 234
    :try_start_0
    invoke-virtual {p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->buildVertexAndTexCoord()V

    .line 235
    monitor-exit v0
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    .line 236
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWorld:Lcom/nemustech/tiffany/world/TFWorld;

    if-eqz v0, :cond_0

    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWorld:Lcom/nemustech/tiffany/world/TFWorld;

    invoke-static {}, Lcom/nemustech/tiffany/world/TFWorld;->requestRender()V

    goto :goto_0

    .line 235
    :catchall_0
    move-exception v1

    :try_start_1
    monitor-exit v0
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    throw v1
.end method

.method scale([FIFFF)V
    .locals 2
    .parameter "xyz"
    .parameter "offset"
    .parameter "sx"
    .parameter "sy"
    .parameter "sz"

    .prologue
    .line 742
    add-int/lit8 v0, p2, 0x0

    aget v1, p1, v0

    mul-float/2addr v1, p3

    aput v1, p1, v0

    .line 743
    add-int/lit8 v0, p2, 0x1

    aget v1, p1, v0

    mul-float/2addr v1, p4

    aput v1, p1, v0

    .line 744
    add-int/lit8 v0, p2, 0x2

    aget v1, p1, v0

    mul-float/2addr v1, p5

    aput v1, p1, v0

    .line 745
    return-void
.end method

.method public setBackMaskOpacity(F)V
    .locals 1
    .parameter "opacity"

    .prologue
    .line 192
    const/4 v0, 0x0

    invoke-virtual {p0, p1, v0}, Lcom/nemustech/tiffany/world/TFPagePanel;->setBackMaskOpacity(FZ)V

    .line 193
    return-void
.end method

.method public setBackMaskOpacity(FZ)V
    .locals 0
    .parameter "opacity"
    .parameter "highQuality"

    .prologue
    .line 201
    iput p1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBackMaskOpacity:F

    .line 202
    iput-boolean p2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBackMaskHighQualityMode:Z

    .line 203
    return-void
.end method

.method public setBorderShadow(FF)V
    .locals 0
    .parameter "ratio"
    .parameter "darkAlpha"

    .prologue
    .line 1276
    iput p1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBorderShadowRatio:F

    .line 1277
    iput p2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBorderShadowDarkAlpha:F

    .line 1278
    return-void
.end method

.method public setDirectionDegree(I)Z
    .locals 2
    .parameter "degree"

    .prologue
    .line 100
    const-class v0, Lcom/nemustech/tiffany/world/TFWorld;

    monitor-enter v0

    .line 101
    :goto_0
    if-gez p1, :cond_0

    .line 102
    add-int/lit16 p1, p1, 0x168

    goto :goto_0

    .line 103
    :cond_0
    :goto_1
    const/16 v1, 0x168

    if-lt p1, v1, :cond_1

    .line 104
    add-int/lit16 p1, p1, -0x168

    goto :goto_1

    .line 105
    :cond_1
    :try_start_0
    iput p1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mDirectionDegree:I

    .line 106
    const/4 v1, 0x1

    monitor-exit v0

    return v1

    .line 107
    :catchall_0
    move-exception v1

    monitor-exit v0
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v1
.end method

.method public setElapse(I)V
    .locals 0
    .parameter "msec"

    .prologue
    .line 210
    iput p1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTickElapse:I

    .line 211
    return-void
.end method

.method public setFlipToBackface(Z)V
    .locals 0
    .parameter "flipToBackface"

    .prologue
    .line 1575
    iput-boolean p1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mFlipToBackface:Z

    .line 1576
    return-void
.end method

.method public setImageResource(ILandroid/graphics/Bitmap;Landroid/graphics/Rect;)Z
    .locals 5
    .parameter "faceIndex"
    .parameter "bmp"
    .parameter "rectSet"

    .prologue
    const/4 v4, 0x0

    const/4 v3, 0x0

    const/4 v2, 0x1

    .line 1493
    iget v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBorderShadowRatio:F

    cmpl-float v1, v1, v3

    if-lez v1, :cond_2

    if-eqz p2, :cond_2

    .line 1494
    invoke-virtual {p0, p1, p2}, Lcom/nemustech/tiffany/world/TFPagePanel;->getDecoratedPageBitmap(ILandroid/graphics/Bitmap;)Landroid/graphics/Bitmap;

    move-result-object v0

    .line 1495
    .local v0, decoratedBitmap:Landroid/graphics/Bitmap;
    invoke-super {p0, p1, v0, v4}, Lcom/nemustech/tiffany/world/TFModel;->setImageResource(ILandroid/graphics/Bitmap;Landroid/graphics/Rect;)Z

    move-result v1

    if-eqz v1, :cond_0

    invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V

    .line 1497
    :cond_0
    iget v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBackMaskOpacity:F

    cmpl-float v1, v1, v3

    if-lez v1, :cond_1

    if-nez p1, :cond_1

    .line 1499
    invoke-virtual {p0, v2, p2}, Lcom/nemustech/tiffany/world/TFPagePanel;->getDecoratedPageBitmap(ILandroid/graphics/Bitmap;)Landroid/graphics/Bitmap;

    move-result-object v0

    .line 1500
    invoke-super {p0, v2, v0, v4}, Lcom/nemustech/tiffany/world/TFModel;->setImageResource(ILandroid/graphics/Bitmap;Landroid/graphics/Rect;)Z

    move-result v1

    if-eqz v1, :cond_1

    invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V

    :cond_1
    move v1, v2

    .line 1505
    .end local v0           #decoratedBitmap:Landroid/graphics/Bitmap;
    :goto_0
    return v1

    :cond_2
    invoke-super {p0, p1, p2, p3}, Lcom/nemustech/tiffany/world/TFModel;->setImageResource(ILandroid/graphics/Bitmap;Landroid/graphics/Rect;)Z

    move-result v1

    goto :goto_0
.end method

.method public setOnUpdateVertexListener(Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;)V
    .locals 0
    .parameter "l"

    .prologue
    .line 1254
    iput-object p1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mOnUpdateVertex:Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;

    .line 1255
    return-void
.end method

.method public setPageMode(I)V
    .locals 0
    .parameter "pageMode"

    .prologue
    .line 1583
    iput p1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mPageMode:I

    .line 1584
    return-void
.end method

.method public setPageOverInterpolator(Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;)V
    .locals 1
    .parameter "i"

    .prologue
    .line 1164
    iput-object p1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mInterpolator:Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;

    .line 1165
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mInterpolator:Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;

    invoke-virtual {v0}, Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;->getBufferCount()I

    move-result v0

    new-array v0, v0, [F

    iput-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mXYL:[F

    .line 1166
    return-void
.end method

.method public setPageShadow(FF)V
    .locals 9
    .parameter "ratio"
    .parameter "darkAlpha"

    .prologue
    const/high16 v8, 0x3f00

    const/4 v7, 0x0

    const-wide/high16 v5, 0x4000

    const/4 v4, 0x1

    .line 1263
    iput p2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowAlpha:F

    .line 1264
    iput p1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowRatio:F

    .line 1265
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWidth:F

    iget v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowRatio:F

    mul-float/2addr v0, v1

    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowWidth:F

    .line 1266
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWidth:F

    float-to-double v0, v0

    invoke-static {v0, v1, v5, v6}, Ljava/lang/Math;->pow(DD)D

    move-result-wide v0

    iget v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHeight:F

    float-to-double v2, v2

    invoke-static {v2, v3, v5, v6}, Ljava/lang/Math;->pow(DD)D

    move-result-wide v2

    add-double/2addr v0, v2

    invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide v0

    double-to-float v0, v0

    const v1, 0x3f99999a

    mul-float/2addr v0, v1

    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowHeight:F

    .line 1267
    new-instance v0, Lcom/nemustech/tiffany/world/TFShadowPanel;

    iget v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowWidth:F

    iget v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowHeight:F

    const/4 v3, 0x3

    invoke-direct {v0, v1, v2, v3, v4}, Lcom/nemustech/tiffany/world/TFShadowPanel;-><init>(FFII)V

    iput-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowPanel:Lcom/nemustech/tiffany/world/TFShadowPanel;

    .line 1268
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowPanel:Lcom/nemustech/tiffany/world/TFShadowPanel;

    iget v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWidth:F

    mul-float/2addr v1, v8

    iget v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowWidth:F

    mul-float/2addr v2, v8

    add-float/2addr v1, v2

    invoke-virtual {v0, v1, v7, v7}, Lcom/nemustech/tiffany/world/TFShadowPanel;->locate(FFF)V

    .line 1269
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowPanel:Lcom/nemustech/tiffany/world/TFShadowPanel;

    iget-object v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWorld:Lcom/nemustech/tiffany/world/TFWorld;

    iput-object v1, v0, Lcom/nemustech/tiffany/world/TFShadowPanel;->mWorld:Lcom/nemustech/tiffany/world/TFWorld;

    .line 1271
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowWidth:F

    iget v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBottomShadowHeight:F

    invoke-virtual {p0, v0, v1, v4, v4}, Lcom/nemustech/tiffany/world/TFPagePanel;->resizeShadowPanel(FFZZ)V

    .line 1272
    return-void
.end method

.method public setSize(FF)V
    .locals 1
    .parameter "width"
    .parameter "height"

    .prologue
    .line 74
    const/4 v0, 0x0

    invoke-virtual {p0, p1, p2, v0}, Lcom/nemustech/tiffany/world/TFPagePanel;->setSize(FFZ)V

    .line 75
    return-void
.end method

.method protected setSize(FFZ)V
    .locals 3
    .parameter "width"
    .parameter "height"
    .parameter "internal"

    .prologue
    .line 78
    if-nez p3, :cond_0

    .line 79
    iput p1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRealWidth:F

    .line 80
    iput p2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mRealHeight:F

    .line 82
    :cond_0
    iput p1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWidth:F

    .line 83
    iput p2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHeight:F

    .line 85
    iget-object v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mInterpolator:Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;

    invoke-virtual {v1}, Lcom/nemustech/tiffany/world/TFPagePanel$PageOverInterpolator;->getElemCount()I

    move-result v1

    add-int/lit8 v1, v1, 0x2

    mul-int/lit8 v0, v1, 0x2

    .line 86
    .local v0, count:I
    mul-int/lit8 v1, v0, 0x3

    mul-int/lit8 v1, v1, 0x2

    invoke-static {v1}, Lcom/nemustech/tiffany/world/TFPagePanel;->newBuffer(I)Ljava/nio/FloatBuffer;

    move-result-object v1

    iput-object v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    .line 87
    mul-int/lit8 v1, v0, 0x2

    mul-int/lit8 v1, v1, 0x2

    invoke-static {v1}, Lcom/nemustech/tiffany/world/TFPagePanel;->newBuffer(I)Ljava/nio/FloatBuffer;

    move-result-object v1

    iput-object v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTextureBuffer:Ljava/nio/FloatBuffer;

    .line 88
    mul-int/lit8 v1, v0, 0x4

    mul-int/lit8 v1, v1, 0x2

    invoke-static {v1}, Lcom/nemustech/tiffany/world/TFPagePanel;->newBuffer(I)Ljava/nio/FloatBuffer;

    move-result-object v1

    iput-object v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBackMaskColorBuffer:Ljava/nio/FloatBuffer;

    .line 90
    const-class v1, Lcom/nemustech/tiffany/world/TFWorld;

    monitor-enter v1

    .line 91
    :try_start_0
    invoke-virtual {p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->buildVertexAndTexCoord()V

    .line 92
    monitor-exit v1

    .line 93
    return-void

    .line 92
    :catchall_0
    move-exception v2

    monitor-exit v1
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v2
.end method

.method public setTimeLine(F)Z
    .locals 2
    .parameter "t"

    .prologue
    .line 124
    const/4 v0, 0x0

    const/4 v1, 0x0

    invoke-virtual {p0, p1, p1, v0, v1}, Lcom/nemustech/tiffany/world/TFPagePanel;->setTimeLine(FFILandroid/view/animation/Interpolator;)Z

    move-result v0

    return v0
.end method

.method public setTimeLine(FFI)Z
    .locals 1
    .parameter "start"
    .parameter "end"
    .parameter "duration"

    .prologue
    .line 131
    const/4 v0, 0x0

    invoke-virtual {p0, p1, p2, p3, v0}, Lcom/nemustech/tiffany/world/TFPagePanel;->setTimeLine(FFILandroid/view/animation/Interpolator;)Z

    move-result v0

    return v0
.end method

.method public setTimeLine(FFILandroid/view/animation/Interpolator;)Z
    .locals 5
    .parameter "start"
    .parameter "end"
    .parameter "duration"
    .parameter "interpolator"

    .prologue
    const/4 v4, 0x1

    const/high16 v3, 0x3f80

    const/4 v2, 0x0

    const/4 v1, 0x0

    .line 144
    cmpg-float v0, p1, v2

    if-ltz v0, :cond_0

    cmpl-float v0, p1, v3

    if-lez v0, :cond_1

    :cond_0
    move v0, v1

    .line 162
    :goto_0
    return v0

    .line 146
    :cond_1
    cmpg-float v0, p2, v2

    if-ltz v0, :cond_2

    cmpl-float v0, p2, v3

    if-lez v0, :cond_3

    :cond_2
    move v0, v1

    .line 147
    goto :goto_0

    .line 149
    :cond_3
    const-class v0, Lcom/nemustech/tiffany/world/TFWorld;

    monitor-enter v0

    .line 150
    :try_start_0
    iput p1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTimeLineStart:F

    .line 151
    iput p2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTimeLineEnd:F

    .line 152
    iput p3, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mDuration:I

    .line 153
    iput-object p4, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTimeInterpolator:Landroid/view/animation/Interpolator;

    .line 154
    const/4 v1, 0x0

    iput v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTicks:I

    .line 155
    const/4 v1, 0x0

    iput v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTickAccum:I

    .line 156
    const/4 v1, 0x1

    iput-boolean v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBuildRequested:Z

    .line 157
    monitor-exit v0
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    .line 159
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWorld:Lcom/nemustech/tiffany/world/TFWorld;

    if-eqz v0, :cond_4

    .line 160
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWorld:Lcom/nemustech/tiffany/world/TFWorld;

    invoke-static {}, Lcom/nemustech/tiffany/world/TFWorld;->requestRender()V

    :cond_4
    move v0, v4

    .line 162
    goto :goto_0

    .line 157
    :catchall_0
    move-exception v1

    :try_start_1
    monitor-exit v0
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    throw v1
.end method

.method public showCenterShadow(Z)V
    .locals 0
    .parameter "show"

    .prologue
    .line 1600
    iput-boolean p1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mShowCenterShadow:Z

    .line 1601
    return-void
.end method

.method swapN([FIII)V
    .locals 4
    .parameter "m"
    .parameter "a"
    .parameter "b"
    .parameter "n"

    .prologue
    .line 844
    const/4 v0, 0x0

    .local v0, i:I
    :goto_0
    if-ge v0, p4, :cond_0

    .line 845
    mul-int v2, p2, p4

    add-int/2addr v2, v0

    aget v1, p1, v2

    .line 846
    .local v1, temp:F
    mul-int v2, p2, p4

    add-int/2addr v2, v0

    mul-int v3, p3, p4

    add-int/2addr v3, v0

    aget v3, p1, v3

    aput v3, p1, v2

    .line 847
    mul-int v2, p3, p4

    add-int/2addr v2, v0

    aput v1, p1, v2

    .line 844
    add-int/lit8 v0, v0, 0x1

    goto :goto_0

    .line 849
    .end local v1           #temp:F
    :cond_0
    return-void
.end method

.method updateHitPoint()V
    .locals 23

    .prologue
    .line 352
    invoke-super/range {p0 .. p0}, Lcom/nemustech/tiffany/world/TFModel;->updateHitPoint()V

    .line 354
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    move v6, v0

    mul-int/lit8 v8, v6, 0x3

    .line 355
    .local v8, hitPointOffset:I
    add-int/lit8 v10, v8, 0x4

    .line 356
    .local v10, uvtOffset:I
    add-int/lit8 v12, v10, 0x3

    .line 357
    .local v12, workOffset:I
    add-int/lit8 v6, v12, 0x20

    new-array v2, v6, [F

    .line 359
    .local v2, work:[F
    const/high16 v22, 0x7f80

    .line 361
    .local v22, tMin:F
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    move-object v6, v0

    const/4 v7, 0x0

    invoke-virtual {v6, v7}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 362
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    move-object v6, v0

    const/4 v7, 0x0

    invoke-virtual {v6, v2, v7, v8}, Ljava/nio/FloatBuffer;->get([FII)Ljava/nio/FloatBuffer;

    .line 363
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexBuffer:Ljava/nio/FloatBuffer;

    move-object v6, v0

    const/4 v7, 0x0

    invoke-virtual {v6, v7}, Ljava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;

    .line 365
    const/16 v21, 0x0

    .local v21, i:I
    :goto_0
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mVertexCount:I

    move v6, v0

    const/4 v7, 0x2

    sub-int/2addr v6, v7

    move/from16 v0, v21

    move v1, v6

    if-ge v0, v1, :cond_2

    .line 366
    add-int/lit8 v6, v21, 0x0

    mul-int/lit8 v3, v6, 0x3

    .line 367
    .local v3, a:I
    add-int/lit8 v6, v21, 0x1

    mul-int/lit8 v4, v6, 0x3

    .line 368
    .local v4, b:I
    add-int/lit8 v6, v21, 0x2

    mul-int/lit8 v5, v6, 0x3

    .line 369
    .local v5, c:I
    rem-int/lit8 v6, v21, 0x2

    if-eqz v6, :cond_0

    .line 371
    move/from16 v19, v4

    .line 372
    .local v19, d:I
    move v4, v5

    .line 373
    move/from16 v5, v19

    .line 375
    .end local v19           #d:I
    :cond_0
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHitTestLine:[F

    move-object v6, v0

    move-object v7, v2

    move-object v9, v2

    move-object v11, v2

    invoke-static/range {v2 .. v12}, Lcom/nemustech/tiffany/world/TFModel;->doHitTestVertexTrigangle([FIII[F[FI[FI[FI)I

    move-result v20

    .line 381
    .local v20, hit:I
    if-ltz v20, :cond_1

    add-int/lit8 v6, v10, 0x2

    aget v6, v2, v6

    cmpl-float v6, v22, v6

    if-ltz v6, :cond_1

    .line 382
    add-int/lit8 v6, v10, 0x2

    aget v22, v2, v6

    .line 383
    move/from16 v0, v20

    move-object/from16 v1, p0

    iput v0, v1, Lcom/nemustech/tiffany/world/TFPagePanel;->mHitFace:I

    .line 384
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHitPoint:[F

    move-object v6, v0

    const/4 v7, 0x0

    const/4 v9, 0x4

    invoke-static {v2, v8, v6, v7, v9}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 365
    :cond_1
    add-int/lit8 v21, v21, 0x1

    goto :goto_0

    .line 387
    .end local v3           #a:I
    .end local v4           #b:I
    .end local v5           #c:I
    .end local v20           #hit:I
    :cond_2
    move-object/from16 v0, p0

    iget v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHitFace:I

    move v6, v0

    if-ltz v6, :cond_3

    .line 388
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHitPoint:[F

    move-object v6, v0

    const/4 v7, 0x0

    invoke-static {v6, v7}, Lcom/nemustech/tiffany/world/TFVector3D;->setW([FI)V

    .line 389
    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHitPoint:[F

    move-object v13, v0

    const/4 v14, 0x4

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mMatrix:[F

    move-object v15, v0

    const/16 v16, 0x0

    move-object/from16 v0, p0

    iget-object v0, v0, Lcom/nemustech/tiffany/world/TFPagePanel;->mHitPoint:[F

    move-object/from16 v17, v0

    const/16 v18, 0x0

    invoke-static/range {v13 .. v18}, Landroid/opengl/Matrix;->multiplyMV([FI[FI[FI)V

    .line 392
    :cond_3
    return-void
.end method

.method protected updateObject(Ljavax/microedition/khronos/opengles/GL10;IZ)Z
    .locals 3
    .parameter "gl"
    .parameter "tickPassed"
    .parameter "bDoGLCalc"

    .prologue
    const/4 v1, 0x0

    const/4 v2, 0x1

    .line 241
    invoke-super {p0, p1, p2, p3}, Lcom/nemustech/tiffany/world/TFModel;->updateObject(Ljavax/microedition/khronos/opengles/GL10;IZ)Z

    move-result v0

    if-nez v0, :cond_0

    move v0, v1

    .line 279
    :goto_0
    return v0

    .line 244
    :cond_0
    invoke-virtual {p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->isPlaying()Z

    move-result v0

    if-eqz v0, :cond_4

    .line 245
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTickAccum:I

    add-int/2addr v0, p2

    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTickAccum:I

    .line 246
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTickAccum:I

    iget v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTickElapse:I

    if-lt v0, v1, :cond_2

    .line 247
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTickAccum:I

    iget v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTickElapse:I

    sub-int/2addr v0, v1

    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTickAccum:I

    .line 248
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTicks:I

    iget v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTickElapse:I

    add-int/2addr v0, v1

    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mTicks:I

    .line 250
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mOnUpdateVertex:Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;

    if-eqz v0, :cond_1

    .line 251
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mOnUpdateVertex:Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;

    invoke-interface {v0, p0}, Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;->beforeUpdate(Lcom/nemustech/tiffany/world/TFPagePanel;)V

    .line 253
    :cond_1
    invoke-virtual {p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->buildVertexAndTexCoord()V

    .line 255
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mOnUpdateVertex:Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;

    if-eqz v0, :cond_2

    .line 256
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mOnUpdateVertex:Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;

    invoke-interface {v0, p0}, Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;->afterUpdate(Lcom/nemustech/tiffany/world/TFPagePanel;)V

    .line 258
    :cond_2
    iput v2, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mEffectStatus:I

    .line 259
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWorld:Lcom/nemustech/tiffany/world/TFWorld;

    invoke-static {}, Lcom/nemustech/tiffany/world/TFWorld;->requestRender()V

    :cond_3
    :goto_1
    move v0, v2

    .line 279
    goto :goto_0

    .line 263
    :cond_4
    iget-boolean v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBuildRequested:Z

    if-eqz v0, :cond_7

    .line 264
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mOnUpdateVertex:Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;

    if-eqz v0, :cond_5

    .line 265
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mOnUpdateVertex:Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;

    invoke-interface {v0, p0}, Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;->beforeUpdate(Lcom/nemustech/tiffany/world/TFPagePanel;)V

    .line 267
    :cond_5
    invoke-virtual {p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->buildVertexAndTexCoord()V

    .line 269
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mOnUpdateVertex:Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;

    if-eqz v0, :cond_6

    .line 270
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mOnUpdateVertex:Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;

    invoke-interface {v0, p0}, Lcom/nemustech/tiffany/world/TFPagePanel$OnUpdateVertexListener;->afterUpdate(Lcom/nemustech/tiffany/world/TFPagePanel;)V

    .line 271
    :cond_6
    iput-boolean v1, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mBuildRequested:Z

    .line 274
    :cond_7
    iget v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mEffectStatus:I

    if-ne v0, v2, :cond_3

    invoke-virtual {p0}, Lcom/nemustech/tiffany/world/TFPagePanel;->isInEffectAnimation()Z

    move-result v0

    if-nez v0, :cond_3

    .line 275
    const/4 v0, 0x2

    iput v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mEffectStatus:I

    .line 276
    iget-object v0, p0, Lcom/nemustech/tiffany/world/TFPagePanel;->mWorld:Lcom/nemustech/tiffany/world/TFWorld;

    invoke-static {}, Lcom/nemustech/tiffany/world/TFWorld;->requestRender()V

    goto :goto_1
.end method

.method yOnLine2D([FI[FIF)F
    .locals 5
    .parameter "p1"
    .parameter "p1Offset"
    .parameter "p2"
    .parameter "p2Offset"
    .parameter "x"

    .prologue
    .line 793
    add-int/lit8 v2, p2, 0x0

    aget v2, p1, v2

    sub-float v2, p5, v2

    add-int/lit8 v3, p4, 0x0

    aget v3, p3, v3

    add-int/lit8 v4, p2, 0x0

    aget v4, p1, v4

    sub-float/2addr v3, v4

    div-float v0, v2, v3

    .line 794
    .local v0, t:F
    add-int/lit8 v2, p2, 0x1

    aget v2, p1, v2

    add-int/lit8 v3, p4, 0x1

    aget v3, p3, v3

    add-int/lit8 v4, p2, 0x1

    aget v4, p1, v4

    sub-float/2addr v3, v4

    mul-float/2addr v3, v0

    add-float v1, v2, v3

    .line 795
    .local v1, y:F
    return v1
.end method
